KR102354808B1 - Apparatus and method for developing component - Google Patents
Apparatus and method for developing component Download PDFInfo
- Publication number
- KR102354808B1 KR102354808B1 KR1020190034573A KR20190034573A KR102354808B1 KR 102354808 B1 KR102354808 B1 KR 102354808B1 KR 1020190034573 A KR1020190034573 A KR 1020190034573A KR 20190034573 A KR20190034573 A KR 20190034573A KR 102354808 B1 KR102354808 B1 KR 102354808B1
- Authority
- KR
- South Korea
- Prior art keywords
- component
- test
- development
- meaning
- interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software 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
컴포넌트 개발 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 컴포넌트 개발 장치는 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의하고, 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의하여 인터페이스 테스트케이스에 기반한 컴포넌트를 개발하는 컴포넌트 개발부; 및
상기 컴포넌트를 검색하여 상기 컴포넌트의 인터페이스 형식과 의미를 검사하고, 개발된 컴포넌트를 실행하는 컴포넌트 조립부를 포함한다.A component development apparatus and method are disclosed. A component development apparatus according to an embodiment of the present invention defines a function of a component according to a preset architecture establishment setting, and defines the meaning and form of an interface of a component based on the defined component function to develop a component based on an interface test case. Component development department to develop; and
and a component assembly unit that searches for the component, examines the interface form and meaning of the component, and executes the developed component.
Description
본 발명은 어플리케이션 개발 기술에 관한 것으로, 보다 상세하게는 컴포넌트 개발 및 조합을 통한 어플리케이션 개발 기술에 관한 것이다.The present invention relates to application development technology, and more particularly, to application development technology through component development and combination.
소프트웨어 제품은 점점 규모가 커지고 복잡해지고 있으며 이에 따라 개발 비용이 점점 증대되고 있다. 이에 대한 표현으로 소프트웨어 위기라는 용어가 1968년부터 사용되고 있으며, 다양한 방법으로 소프트웨어 위기를 극복하고자 하지만 일반적으로 모든 문제를 해결할 수 있는 방법은 없는 것으로 여겨지고 있다. Software products are getting larger and more complex, which leads to higher development costs. As an expression for this, the term software crisis has been used since 1968, and although there are various ways to overcome the software crisis, it is generally considered that there is no way to solve all problems.
컴포넌트 기반 개발 방법(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. It was created with the purpose of dramatically improving development productivity and quality in a way that enables rapid deployment. In addition, CBD has the advantage that legacy systems can be componentized and used in conjunction with a new technology environment.
그러나, 컴포넌트를 재활용하기 위해서는 컴포넌트 사이의 인터페이스 형식 및 전달 데이터의 의미가 의미상 동일해야 하며 컴포넌트 구현 방법에 따라 예상하지 못한 상호 영향 등 다양한 문제를 해결해야 한다. 이에 따라 컴포넌트의 재사용을 위해서는 컴포넌트 사이의 명확한 상호작용이 필요하다. 단순 API의 형식 비교나 컴포넌트에 대한 기능 설명만으로 컴포넌트를 재사용할 경우 재사용에 대한 확신이 어렵고 실제 동작할 때 예상하지 못한 부작용이 나올 수 있는 문제점이 있다.However, in order to recycle components, the interface format between components and the meaning of transmitted data must be semantically identical, and various problems such as unexpected mutual influence must be resolved depending on the component implementation method. Accordingly, clear interaction between components is required for component reuse. If a component is reused only by comparing the format of a simple API or by explaining the function of the component, it is difficult to be sure of reuse, and there is a problem that unexpected side effects may occur during actual operation.
한편, 한국공개특허 제 10-2009-0122898 호“온톨로지 기반 컴포넌트 조립 기술을 이용한 소프트웨어 개발 시스템 및 그 방법”는 독립적으로 개발한 컴포넌트들을 조립하여 애플리케이션을 개발하는 시스템에서 컴포넌트의 소스 코드 수정 없이 바이너리 수준에 서 조립할 수 있는 소프트웨어 개발 시스템 및 방법에 관하여 개시하고 있다.On the other hand, Korean Patent Application Laid-Open No. 10-2009-0122898 “Software development system and method using ontology-based component assembly technology” is a system that develops applications by assembling independently developed components at a binary level without modifying the source code of the components. Disclosed is a software development system and method that can be assembled in
본 발명은 컴포넌트 기반 개발 방법에 있어서 필요한 컴포넌트를 검색할 때, 형식 비교, 행위 비교, 품질 속성 등의 다양한 측면에서 검색하여 적합한 컴포넌트를 제시하는 것을 목적으로 한다.An object of the present invention is to present suitable components by searching in various aspects such as format comparison, behavior comparison, and quality attribute when searching for a necessary component in a component-based development method.
또한, 본 발명은 컴포넌트의 재사용성과 품질을 획기적으로 높이는 것을 목적으로 한다.In addition, an object of the present invention is to dramatically 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 the function of a component according to a preset architecture establishment setting, and defines the meaning and form 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, examines the interface form and meaning of the component, and executes the developed component.
본 발명은 컴포넌트 기반 개발 방법에 있어서 필요한 컴포넌트를 검색할 때, 형식 비교, 행위 비교, 품질 속성 등의 다양한 측면에서 검색하여 적합한 컴포넌트를 제시할 수 있다.In the present invention, when searching for a necessary component in a component-based development method, it is possible to present a suitable component by searching in various aspects such as format comparison, behavior comparison, and quality attribute.
또한, 본 발명은 컴포넌트의 재사용성과 품질을 획기적으로 높일 수 있다.In addition, the present invention can dramatically increase the reusability and quality of components.
도 1은 본 발명의 일실시예에 따른 컴포넌트 개발 장치를 나타낸 블록도이다.
도 2는 도 1에 도시된 컴포넌트 개발부의 일 예를 세부적으로 나타낸 블록도이다.
도 3은 도 1에 도시된 컴포넌트 조립부의 일 예를 세부적으로 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 컴포넌트의 구조를 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 컴포넌트 개발 방법을 나타낸 동작흐름도이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.1 is a block diagram illustrating an apparatus for developing a component according to an embodiment of the present invention.
FIG. 2 is a detailed block diagram illustrating an example of the component development unit illustrated in FIG. 1 .
FIG. 3 is a detailed block diagram illustrating an example of a component assembly unit illustrated 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 flowchart illustrating a component development method according to an embodiment of the present invention.
6 is a diagram illustrating 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 gist of the present invention, and detailed descriptions of configurations will be omitted. The embodiments of the present invention are provided in order to more completely explain the present invention to those of ordinary skill in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer description.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 컴포넌트 개발 장치를 나타낸 블록도이다.1 is a block diagram illustrating an apparatus for developing a component 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
컴포넌트 개발부(110)는 컴포넌트 기능 정의부(111), 컴포넌트 인터페이스 정의부(112), 인터페이스 테스트케이스부(113) 및 컴포넌트 구현부(114)를 포함한다.The
컴포넌트 기능 정의부(111)는 전체 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의할 수 있다.The component
컴포넌트 인터페이스 정의부(112)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.The component
인터페이스의 의미는 UML 다이어그램이나 정형 언어(Formal Method)로 정의될 수 있다.The meaning of the interface can be defined in a UML diagram or a formal method.
인터페이스 테스트케이스부(113)는 인터페이스의 의미와 형식을 정의하기 위한 테스트케이스를 제공할 수 있다.The interface
컴포넌트 구현부(114)는 정의된 컴포넌트의 기능과 컴포넌트의 인터페이스의 의미와 형식을 이용하여 컴포넌트를 구현할 수 있다.The
이 때, 컴포넌트 구현부(114)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, the
TDD에서는 동작 가능한 테스트 코드로 컴포넌트의 인터페이스의 기능과 역할을 구체화할 수 있다. 이러한 테스트 코드를 컴포넌트 구성에 포함하여 전술한 컴포넌트의 행위에 대해 명확한 명세를 가능하도록 할 수 있다. In TDD, the function and role of the component's interface can be specified with the actionable test code. By including such a test code in the component configuration, it is possible to make it possible to clearly specify the behavior of the above-described component.
컴포넌트 조립부(120)는 컴포넌트 검색부(121), 컴포넌트 형식 검사부(122), 컴포넌트 의미 검사부(123) 및 컴포넌트 실행부(124)를 포함한다.The
컴포넌트 검색부(121)는 어플리케이션을 통합 개발하기 위한 컴포넌트를 검색할 수 있다.The
컴포넌트 형식 검사부(122)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.The
컴포넌트 의미 검사부(123)는 컴포넌트 인터페이스의 의미를 검사할 수 있다.The component meaning
컴포넌트 실행부(124)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.The
이 때, 컴포넌트 실행부(124)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, the
이 때, 컴포넌트 실행부(124)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, the
컴포넌트 저장부(130)는 생성된 컴포넌트를 저장할 수 있다.The
도 2는 도 1에 도시된 컴포넌트 개발부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 2 is a detailed block diagram illustrating an example of the component development unit illustrated in FIG. 1 .
도 2를 참조하면, 컴포넌트 개발부(110)는 컴포넌트 기능 정의부(111), 컴포넌트 인터페이스 정의부(112), 인터페이스 테스트케이스부(113) 및 컴포넌트 구현부(114)를 포함한다.Referring to FIG. 2 , the
컴포넌트 기능 정의부(111)는 전체 기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의할 수 있다.The component
컴포넌트 인터페이스 정의부(112)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.The component
인터페이스의 의미는 UML 다이어그램이나 정형 언어(Formal Method)로 정의될 수 있다.The meaning of the interface can be defined in a UML diagram or a formal method.
인터페이스 테스트케이스부(113)는 인터페이스의 의미와 형식을 정의하기 위한 테스트케이스를 제공할 수 있다.The interface
컴포넌트 구현부(114)는 정의된 컴포넌트의 기능과 컴포넌트의 인터페이스의 의미와 형식을 이용하여 컴포넌트를 구현할 수 있다.The
이 때, 컴포넌트 구현부(114)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, the
TDD에서는 동작 가능한 테스트 코드로 컴포넌트의 인터페이스의 기능과 역할을 구체화할 수 있다. 이러한 테스트 코드를 컴포넌트 구성에 포함하여 전술한 컴포넌트의 행위에 대해 명확한 명세를 가능하도록 할 수 있다. In TDD, the function and role of the component's interface can be specified with the actionable test code. By including such a test code in the component configuration, it is possible to make it possible to clearly specify the behavior of the above-described component.
도 3은 도 1에 도시된 컴포넌트 조립부의 일 예를 세부적으로 나타낸 블록도이다.FIG. 3 is a detailed block diagram illustrating an example of a component assembly unit illustrated in FIG. 1 .
도 3을 참조하면, 컴포넌트 조립부(120)는 컴포넌트 검색부(121), 컴포넌트 형식 검사부(122), 컴포넌트 의미 검사부(123) 및 컴포넌트 실행부(124)를 포함한다.Referring to FIG. 3 , the
컴포넌트 검색부(121)는 어플리케이션을 통합 개발하기 위한 컴포넌트를 검색할 수 있다.The
컴포넌트 형식 검사부(122)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.The
컴포넌트 의미 검사부(123)는 컴포넌트 인터페이스의 의미를 검사할 수 있다.The component meaning
컴포넌트 실행부(124)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.The
이 때, 컴포넌트 실행부(124)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, the
이 때, 컴포넌트 실행부(124)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, the
도 4는 본 발명의 일실시예에 따른 컴포넌트의 구조를 나타낸 블록도이다.4 is a block diagram illustrating the structure of a component according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일실시예에 따른 컴포넌트(10)는 컴포넌트 소스코드 또는 실행 파일을 포함하고, 추가적인 명세서와 인터페이스 테스트케이스를 포함할 수 있다.Referring to FIG. 4 , the
도 5는 본 발명의 일실시예에 따른 컴포넌트 개발 방법을 나타낸 동작흐름도이다.5 is an operation flowchart illustrating 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 entire pre-set architecture establishment setting.
이 때, 단계(S210)는 정의된 컴포넌트 기능에 기반하여 컴포넌트의 인터페이스의 의미와 형식을 정의할 수 있다.In this case, in step S210, the meaning and form 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 form of the interface of the component.
이 때, 단계(S210)는 테스트 기반 방법론(TDD, Test Driven Development)을 이용하여 컴포넌트를 시험하기 위한 테스트 코드를 먼저 작성한 이후 컴포넌트 내부를 시험할 수 있다.In this case, in step S210, a test code for testing a 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 the actionable test code. By including such a test code in the component configuration, it is possible to make it 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)는 컴포넌트 인터페이스의 형식을 검사할 수 있다.In this case, 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, the component development method according to an embodiment of the present invention may execute the component (S230).
즉, 단계(S230)는 컴포넌트와 함께 테스트 케이스를 함께 제공하여 상호 연동이 가능한 컴포넌트를 검색할 때 컴포넌트의 API 정보를 통한 형식 검사를 먼저 수행하고, 테스트 케이스를 통해 실제 컴포넌트를 동작 시험하여 컴포넌트의 행위 및 의미를 시험할 수 있다.That is, step S230 provides a test case together with a component to first perform a type check through API information of the component when searching for an interoperable component, and then operates the actual component through the test case to test the component. It can test behavior and meaning.
이 때, 단계(S230)는 테스트 코드 및 테스트 케이스를 작성한 후, 검색/실행 등의 과정에서 테스트 케이스를 확장할 수 있다.In this case, in step S230, after writing the test code and the test case, the test case may be expanded in the process of searching/executing the test case.
이 때, 단계(S230)는 별도의 컴포넌트 실행 에이전트를 이용하여 실행 과정의 정보(예, 디버깅 정보, 변수 정보 등)파악하여 컴포넌트의 테스트 케이스를 확장할 수 있다.In this case, in step S230, information (eg, debugging information, variable information, etc.) of the execution process may be grasped using a separate component execution agent, and the test case of the component may be extended.
이 때, 단계(S230)는 생성된 컴포넌트를 실행하고, 저장할 수 있다.In this case, in step S230, the generated component may be executed and stored.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.6 is a diagram illustrating 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
이상에서와 같이 본 발명의 일실시예에 따른 컴포넌트 개발 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, in the component development apparatus and method according to an embodiment of the present invention, the configuration and method of the described embodiments are not limitedly applicable, but the embodiments are each so that various modifications can be made. 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 check 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 (10)
상기 컴포넌트의 행위, 의미 및 형식을 시험하고, 개발된 컴포넌트를 실행하는 컴포넌트 조립부;
를 포함하고,
상기 컴포넌트 개발부는
테스트 기반 방법론(Test Driven Development)을 이용하여 테스트 코드를 작성하고, 상기 테스트 코드를 이용하여 상기 컴포넌트를 시험하고,
상기 컴포넌트 조립부는
상기 컴포넌트의 API 정보를 통해 상기 컴포넌트의 형식을 검사하고, 상기 테스트 코드에 의해 확장된 테스트케이스를 이용한 상기 컴포넌트의 동작으로부터 상기 컴포넌트의 행위 및 의미를 시험하고,
상기 컴포넌트의 동작을 시험하는 과정에서, 컴포넌트 실행 에이전트를 이용하여 상기 컴포넌트의 디버깅 정보 및 변수 정보를 포함하는 실행과정의 정보를 확인하고, 상기 실행과정의 정보를 이용하여 상기 테스트케이스를 확장하는 것을 특징으로 하는 컴포넌트 개발 장치.a component development unit that defines a function of a component according to a preset architecture establishment setting, and implements a component by defining an action, meaning, and form of the component based on the defined component function; and
a component assembly unit that tests the behavior, meaning and form of the component and executes the developed component;
including,
The component development department
Write test code using Test Driven Development, test the component using the test code,
The component assembly
Examine the form of the component through the API information of the component, and test the behavior and meaning of the component from the operation of the component using a test case extended by the test code,
In the process of testing the operation of the component, using the component execution agent to check information on the execution process including debugging information and variable information of the component, and to expand the test case using the information on the execution process A component development device that features.
상기 컴포넌트 개발부는
상기 테스트 코드를 이용하여 상기 컴포넌트의 인터페이스의 기능과 역할을 구체화하고, 상기 컴포넌트에 상기 테스트 코드를 포함시켜 상기 컴포넌트의 행위에 대한 명세를 제공하는 것을 특징으로 하는 컴포넌트 개발 장치.The method according to claim 1,
The component development department
Component development apparatus, characterized in that the function and role of the interface of the component are specified by using the test code, and a specification of the behavior of the component is provided by including the test code in the component.
기설정된 아키텍처 수립 설정에 따라 컴포넌트의 기능을 정의하고, 정의된 컴포넌트 기능에 기반하여 컴포넌트의 행위, 의미 및 형식을 정의하여 컴포넌트를 구현하는 단계; 및
상기 컴포넌트의 행위, 의미 및 형식을 시험하고, 개발된 컴포넌트를 실행하는 단계;
를 포함하고,
상기 컴포넌트를 구현하는 단계는
테스트 기반 방법론(Test Driven Development)을 이용하여 테스트 코드를 작성하고, 상기 테스트 코드를 이용하여 상기 컴포넌트를 시험하고,
상기 컴포넌트를 실행하는 단계는
상기 컴포넌트의 API 정보를 통해 상기 컴포넌트의 형식을 검사하고, 상기 테스트 코드에 의해 확장된 테스트케이스를 이용한 상기 컴포넌트의 동작으로부터 상기 컴포넌트의 행위 및 의미를 시험하고,
상기 컴포넌트의 동작을 시험하는 과정에서, 컴포넌트 실행 에이전트를 이용하여 상기 컴포넌트의 디버깅 정보 및 변수 정보를 포함하는 실행과정의 정보를 확인하고, 상기 실행과정의 정보를 이용하여 상기 테스트케이스를 확장하는 것을 특징으로 하는 컴포넌트 개발 방법.In the component development method of the component development apparatus,
defining a function of a component according to a preset architecture establishment setting, and implementing a component by defining an action, meaning, and form of the component based on the defined component function; and
testing the behavior, meaning and form of the component, and executing the developed component;
including,
The step of implementing the component is
Write test code using Test Driven Development, test the component using the test code,
The step of executing the component is
Examine the form of the component through the API information of the component, and test the behavior and meaning of the component from the operation of the component using a test case extended by the test code,
In the process of testing the operation of the component, using the component execution agent to check information on the execution process including debugging information and variable information of the component, and to expand the test case using the information on the execution process A method for developing a component.
상기 컴포넌트를 구현하는 단계는
상기 테스트 코드를 이용하여 상기 컴포넌트의 인터페이스의 기능과 역할을 구체화하고, 상기 컴포넌트에 상기 테스트 코드를 포함시켜 상기 컴포넌트의 행위에 대한 명세를 제공하는 것을 특징으로 하는 컴포넌트 개발 방법.7. The method of claim 6,
The step of implementing the component is
A component development method, characterized in that the function and role of the interface of the component are specified using the test code, and a specification of the behavior of the component is provided by including the test code in the component.
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 KR20200113831A (en) | 2020-10-07 |
KR102354808B1 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102449580B1 (en) * | 2021-02-15 | 2022-09-30 | (주)아이브릭스 | The unstructured data analysis method using component network based analysis system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101134735B1 (en) * | 2010-11-03 | 2012-04-13 | 재단법인대구경북과학기술원 | Software testing method and system using software component design information |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100935685B1 (en) * | 2007-12-18 | 2010-01-08 | 한국전자통신연구원 | Apparatus and Method for Developing Software |
-
2019
- 2019-03-26 KR KR1020190034573A patent/KR102354808B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101134735B1 (en) * | 2010-11-03 | 2012-04-13 | 재단법인대구경북과학기술원 | Software testing method and system using software component design information |
Also Published As
Publication number | Publication date |
---|---|
KR20200113831A (en) | 2020-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146532B2 (en) | Apparatus and method for detecting code cloning of software | |
EP3234851B1 (en) | A system and method for facilitating static analysis of software applications | |
CN106909498B (en) | Method and system for injecting fault into Java program | |
CN107766130B (en) | Method and device for migrating virtual machine to container | |
WO2018161509A1 (en) | Conditional compilation preprocessing method, terminal and storage medium | |
CN111124870A (en) | Interface testing method and device | |
CN109614107B (en) | Integration method and device of software development kit | |
US11347500B2 (en) | Software code converter for resolving conflicts during code development | |
US20210397423A1 (en) | Software code converter for resolving redundancy during code development | |
KR102354808B1 (en) | Apparatus and method for developing component | |
JP7131277B2 (en) | System migration support device, system migration support method and program | |
CN110716866A (en) | Code quality scanning method and device, computer equipment and storage medium | |
US11782685B2 (en) | Software code vectorization converter | |
CN117009248A (en) | Machine learning model testing method and device, electronic equipment and storage medium | |
EP3605353B1 (en) | Method and system for data transfer between databases | |
US8819645B2 (en) | Application analysis device | |
CN107291436B (en) | SDK packet generation method, device and terminal | |
JP6878707B2 (en) | Test equipment, test methods and test programs | |
US20220318005A1 (en) | Generation of software program repair explanations | |
JP2015146178A (en) | Creation of test context | |
CN112860552A (en) | Key word system operation method and device | |
CN110554867B (en) | Application processing method and device | |
JP2017167899A (en) | Simulation system, simulation method, and simulation program | |
US10515029B2 (en) | Conversion tool for moving from block-based persistence to byte-based persistence | |
US20230350792A1 (en) | System, method, and computer program for development driven test automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |