KR20210158015A - Software engineering platform for automatically creating program and database by designing information system and for automatically performing test - Google Patents

Software engineering platform for automatically creating program and database by designing information system and for automatically performing test Download PDF

Info

Publication number
KR20210158015A
KR20210158015A KR1020200076254A KR20200076254A KR20210158015A KR 20210158015 A KR20210158015 A KR 20210158015A KR 1020200076254 A KR1020200076254 A KR 1020200076254A KR 20200076254 A KR20200076254 A KR 20200076254A KR 20210158015 A KR20210158015 A KR 20210158015A
Authority
KR
South Korea
Prior art keywords
design
information
unit
screen
database
Prior art date
Application number
KR1020200076254A
Other languages
Korean (ko)
Other versions
KR102377607B1 (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 KR1020200076254A priority Critical patent/KR102377607B1/en
Priority to PCT/KR2021/003114 priority patent/WO2021261708A1/en
Publication of KR20210158015A publication Critical patent/KR20210158015A/en
Application granted granted Critical
Publication of KR102377607B1 publication Critical patent/KR102377607B1/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/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

Provided is a software engineering platform comprising: a user terminal for receiving design information from a user; and a design server for generating an executable information system based on the design information by using a pre-stored algorithm. The design information includes business process information, screen form-related item information, screen design information, and processing logic design information. The design server includes: a process design unit for receiving the business process information from the user terminal; a database design unit for setting the screen form-related item information, received from the user terminal, as data table items; a screen design unit for setting the screen form-related item information and the processing logic design information received from the user terminal; a program and database generation unit for generating a web, app, or client system based on a process set by the process design unit, a database set by the database design unit, and the screen design information set by the screen design unit; and an automatic test design unit for creating unit test scenarios and integrated test scenarios based on unit work procedure design information and process procedure design information set by the process design unit, the screen design information set by the screen design unit, and database item design information set by the database design unit, and testing the screen and function items of the web, app, or client system based on the unit test scenarios and the integrated test scenarios. Therefore, a system and screen required in the real world can be easily implemented by both field practitioners and general users.

Description

정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼{SOFTWARE ENGINEERING PLATFORM FOR AUTOMATICALLY CREATING PROGRAM AND DATABASE BY DESIGNING INFORMATION SYSTEM AND FOR AUTOMATICALLY PERFORMING TEST}A software engineering platform that automatically creates programs and databases by designing information systems and automatically performs tests.

본 발명은 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼에 관한 것으로, 특히 실세계에서 필요한 시스템 및 화면을 손쉽게 구현해주는 소프트웨어 공학플랫폼에 관한 것이다.The present invention relates to a software engineering platform that automatically creates programs and databases by designing an information system and automatically performs tests, and in particular, relates to a software engineering platform that easily implements systems and screens required in the real world.

최근, 공공기관을 포함한 프로젝트 발주처에서는 분리 발주 방식이나 원격지 개발 제도를 이용해 소프트웨어 개발하거나 발주한 후, 개발된 소프트웨어를 검증 및 평가하고 있다.Recently, project ordering parties, including public institutions, have developed or placed an order for software using a separate ordering method or a remote development system, and then verify and evaluate the developed software.

분리 발주 방식은 종래에 토목, 건축물 설계 및 시공시 주로 이용되는 방식이었는데, 이는 설계 사업자와 시공 사업자를 분리 발주하여 설계 사업자와 시공 사업자를 달리 확정하여 진행하는 방식이다. 최근에는 "국가기관 등의 장은 소프트웨어사업 발주 시 소프트웨어사업의 요구사항을 상세하게 작성하도록 하고, 이를 위하여 별도의 분석 또는 설계사업을 분리하여 발주할 수 있도록 함"의 내용이 포함된 소프트웨어진흥법 개정으로 분리발주가 법제화되었다. 이러한 분리 발주 방식은 설계 사업자가 명확히 요구 검증 사항을 마쳐야 개발 사업자가 개발할 수 있는 방식이다. The separate ordering method was conventionally mainly used for civil engineering and building design and construction, and this is a method in which a design operator and a construction operator are separately ordered and the design operator and the construction operator are separately determined and proceeded. Recently, with the revision of the Software Promotion Act, which includes the contents of "the heads of state agencies, etc. are required to write detailed software business requirements when placing an order for a software business, and to order separate analysis or design projects for this purpose." Separate ordering has been enacted. This separate ordering method is a method that a developer can develop only when the design operator clearly completes the requirements verification.

원격지 개발 방식은 소프트웨어 설계 지역과 소프트웨어 개발 및 운영 지역을 달리하여 진행하는 제도이다. 즉, 원격지에서는 소프트웨어를 상세히 설계하되, 타 지역인 개발지에서는 원격지의 분석 설계 산출물을 토대로 소프트웨어를 개발 및 구현하는 방식이다. 이러한 원격지 개발 방식은 원격지와 개발지 간에 다양한 커뮤니케이션이 형성되어야 한다. 원격지 개발 또한 최근 개정된 SW진흥법에 전면 허용되어 점차 증가할 전망이다.The remote development method is a system in which the software design area and the software development and operation area are different. That is, it is a method of designing software in detail in a remote location, but developing and implementing software based on the analysis design output of the remote location in a development site, which is another area. In this remote site development method, various communication must be formed between the remote site and the development site. Remote site development is also fully permitted under the recently revised SW Promotion Act and is expected to increase gradually.

하지만, 종래의 분리 발주 및 원격지 개발 방식을 통한 프로그램 설계시에는 설계된 프로그램이나 소프트웨어를 개발자나 발주처 그리고 고객이 검증한 후, 검증 결과에 따라 수정하는 과정이 반복되므로 검증 및 수정 시간이 지연되는 문제가 있었다. 즉, 소프트웨어 설계 및 개발 후 발주처나 고객의 검증 결과 및 요구 사항에 따라 수정하고 재차 검증받는 일련의 순환 과정에서 걸리는 시간이 지연될 수밖에 없었기 때문에 종래의 분리 발주 및 원격지 개발 방식을 통한 프로그램 설계 효율이 저하될 수밖에 없었다.However, when designing a program through the conventional separate ordering and remote development methods, after the developer, the ordering party, and the customer verify the designed program or software, and then the process of modifying it according to the verification result is repeated, the verification and modification time is delayed. there was. In other words, after software design and development, the time required in the cycle of modifying and re-verifying according to the verification results and requirements of the ordering party or customer was inevitably delayed. had to be lowered.

이에 따라, 실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현할 수 있는 기술이 요구된다.Accordingly, there is a need for a technology that can easily implement systems and screens required in the real world, even for business and general users.

본 발명이 이루고자 하는 기술적 과제는 실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현할 수 있는 소프트웨어 공학플랫폼을 제공하는 것이다.The technical task to be achieved by the present invention is to provide a software engineering platform that can easily implement systems and screens necessary in the real world, even for business and general users.

한 실시예에 따르면, 소프트웨어 공학플랫폼이 제공된다.According to one embodiment, a software engineering platform is provided.

상기 소프트웨어 공학플랫폼은 사용자로부터 설계 정보를 입력받는 사용자 단말, 그리고 미리 저장된 알고리즘을 이용하여, 상기 설계 정보를 바탕으로 실행 가능한 정보시스템을 생성하는 설계 서버를 포함하고, 상기 설계 정보는 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보를 포함하고, 상기 설계 서버는, 상기 사용자 단말로부터 상기 업무 프로세스 정보를 수신하는 프로세스 설계부, 상기 사용자 단말로부터 수신하는 상기 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정하는 데이터베이스 설계부, 상기 사용자 단말로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정하는 화면 설계부, 상기 프로세스 설계부에 의해 설정된 프로세스, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스, 및 상기 화면 설계부에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성하는 프로그램 및 데이터베이스 생성부, 및 상기 프로세스 설계부에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 상기 화면 설계부에 의해 설정된 화면 설계 정보, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 상기 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 상기 웹, 앱 또는 클라이언트 시스템의 화면 및 기능 항목을 테스트하는 자동테스트 설계부를 포함한다.The software engineering platform includes a user terminal that receives design information from a user, and a design server that generates an executable information system based on the design information using a pre-stored algorithm, wherein the design information includes business process information, screen form-related item information, screen design information, and processing logic design information, wherein the design server includes: a process design unit receiving the work process information from the user terminal; and the screen form-related item information received from the user terminal A database design unit for setting , as a data table item, a screen design unit for setting screen form related item information and processing logic design information received from the user terminal, a process set by the process design unit, a database set by the database design unit, and the Based on the screen design information set by the screen design unit, a program and database generation unit for generating a web, app, or client system, and unit work procedure design information and process procedure design information set by the process design unit, by the screen design unit A unit test scenario and an integration test scenario are generated based on the set screen design information and the database item design information set by the database design unit, and based on the unit test scenario and the integration test scenario, the screen and Includes an automated test design unit that tests functional items.

상기 프로세스 설계부는, 단위업무 및 서브프로세스의 순서를 설정하는 프로세스 설계 모듈, 프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정하는 프로세스 속성 설계 모듈, 설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정하는 프로세스 케이스 설계 모듈, 한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정하는 단위업무 설계 모듈, 원소단위 업무의 상세정보를 설정하는 단위업무 속성 설계 모듈, 설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션 유형의 모음을 설정하는 단위업무케이스 설계 모듈, 및 프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정하는 업무분류 설계 모듈을 포함할 수 있다.The process design unit, a process design module for setting the order of unit tasks and sub-processes, a process attribute design module for setting unit tasks, sub-processes, roles, and organization information that are process detailed information and configuration information, selectively according to settings A process case design module that sets a set of unit tasks and sub-processes to be performed, a unit task design module that sets the work steps of element units performed by one person at one place, and unit task properties that set detailed information of element unit tasks A design module, a unit business case design module that sets the sequence of element unit tasks selectively performed according to settings, a collection of event transaction types, and a business classification design module that sets tasks larger than the process into organizational units may include

상기 데이터베이스 설계부는, 업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정하는 테이블 기본 설계 모듈, 상기 테이블 기본 설계 모듈을 통해 설정된 테이블 간의 관계 정보를 설정하는 테이블 관계 설계 모듈, 및 상기 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정하는 색인 설계 모듈을 포함할 수 있다.The database design unit includes a table basic design module for setting table basic design information including a business name, detailed item information corresponding to the business name, process information corresponding to the business name, and input/output information corresponding to the business name, the table basic and a table relationship design module configured to set relationship information between tables set through the design module, and an index design module configured to set index information based on the table basic design information and relationship information between tables.

상기 화면 설계부는, 상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 사용자 단말로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정하는 양식 인식 모듈, 상기 사용자 단말로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환하고, 네모 또는 동그라미 모양의 도형글자를 체크 박스 또는 라디오 박스로 변환하는 양식 변환 모듈, 상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성하는 데이터베이스 설계 정보 자동생성 모듈, 상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 동기화하는 데이터베이스 설계 정보 연결 모듈, 상기 사용자 단말로부터 수신하는 화면 설계 정보를 바탕으로 화면 항목을 설정하는 화면 항목 설계 모듈, 상기 사용자 단말로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정하는 이벤트 설계 모듈, 상기 이벤트 설계 모듈을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정하는 트랜젝션 설계 모듈, 화면의 구성요소들을 그룹화하는 화면 컴포넌트 관리 모듈, 및 화면의 구성요소 항목별 상세 속성을 설정하는 화면항목 속성 설계 모듈을 포함할 수 있다.The screen design unit may include a form recognition module configured to set a screen based on the process design information set in the process design unit, the screen design information received from the user terminal, and a database item, and a preset program form for the business form received from the user terminal A form conversion module that converts the file information of a creation module; a database design information connection module for synchronizing database design information based on screen design information received from the form conversion module; a screen item design module for setting screen items based on screen design information received from the user terminal; An event design module for setting functions, buttons, links, events, and transactions for responding to user actions occurring on a screen received from the user terminal, and logic and conditions for transmitting functions set through the event design module to an external server It may include a transaction design module for setting , a screen component management module for grouping screen components, and a screen item property design module for setting detailed properties for each component item of the screen.

상기 프로그램 및 데이터베이스 생성부는, 상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 화면 설계부에서 설정된 화면 항목 정보를 바탕으로 소스를 생성하는 프로그램 생성 모듈, 및 상기 데이터베이스 설계부에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성하는 데이터베이스 생성 모듈을 포함할 수 있다.The program and database generation unit may include a program generation module for generating a source based on the process design information set by the process design unit, the screen item information set by the screen design unit, and a database and table based on the database design information set by the database design unit. , and a database creation module that creates a column.

상기 자동테스트 설계부는, 상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 단위테스트 시나리오를 생성하는 단위테스트 시나리오 모듈, 상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 통합테스트 시나리오를 생성하는 통합테스트 시나리오 모듈, 및 상기 단위테스트 시나리오 및 통합테스트 시나리오 정보에 기반하여, 테스트 결과를 출력하는 테스트 모듈을 포함할 수 있다.The automatic test design unit is configured to generate a unit test scenario based on unit work procedure design information received from the process design unit, database item design information received from the database design unit, and screen design information received from the screen design unit. An integrated test scenario module for generating an integrated test scenario based on a scenario module, unit work procedure design information received from the process design unit, database item design information received from the database design unit, and screen design information received from the screen design unit; and a test module for outputting test results based on the unit test scenario and integration test scenario information.

상기 화면 설계 정보는, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 상기 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 및 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함하고, 상기 실행화면 설정 정보는 상기 사용자 단말로부터 데이터를 입력받거나 상기 사용자 단말에게 데이터 및 화면을 출력하기 위한 정보일 수 있다.The screen design information includes: create button information, edit button information, save button information, delete button information, inquiry button information, list button information, the creation button information, edit button information, save button information, delete button information, inquiry button information , and event occurrence information corresponding to the list button information, menu setting information, and execution screen setting information, wherein the execution screen setting information is for receiving data from the user terminal or outputting data and a screen to the user terminal may be information.

실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현 및 확인이 가능하므로, 소프트웨어 개발 및 검증 시간을 줄이고 협업을 통해 개발 효율을 향상시킬 수 있다.Since business and general users can easily implement and check the necessary systems and screens in the real world, it is possible to reduce software development and verification time and improve development efficiency through collaboration.

도 1은 한 실시예에 따른 소프트웨어 공학플랫폼의 블록도이다.
도 2는 한 실시예에 따른 프로세스 설계부의 블록도이다.
도 3은 한 실시예에 따른 데이터베이스 설계부의 블록도이다.
도 4는 한 실시예에 따른 화면 설계부의 블록도이다.
도 5는 한 실시예에 따른 프로그램 및 데이터베이스 생성부의 블록도이다.
도 6은 한 실시예에 따른 자동테스트 설계부의 블록도이다.
도 7은 한 실시예에 따른 소프트웨어 공학플랫폼의 동작 내용을 설명하기 위한 도면이다.
1 is a block diagram of a software engineering platform according to an embodiment.
2 is a block diagram of a process design unit according to an exemplary embodiment.
3 is a block diagram of a database design unit according to an embodiment.
4 is a block diagram of a screen design unit according to an exemplary embodiment.
5 is a block diagram of a program and database generator according to an exemplary embodiment.
6 is a block diagram of an automatic test design unit according to an embodiment.
7 is a diagram for explaining the operation of the software engineering platform according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.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.

도 1은 한 실시예에 따른 소프트웨어 공학플랫폼의 블록도이다. 도 2는 한 실시예에 따른 프로세스 설계부의 블록도이다. 도 3은 한 실시예에 따른 데이터베이스 설계부의 블록도이다. 도 4는 한 실시예에 따른 화면 설계부의 블록도이다. 도 5는 한 실시예에 따른 프로그램 및 데이터베이스 생성부의 블록도이다. 도 6은 한 실시예에 따른 자동테스트 설계부의 블록도이다. 1 is a block diagram of a software engineering platform according to an embodiment. 2 is a block diagram of a process design unit according to an exemplary embodiment. 3 is a block diagram of a database design unit according to an embodiment. 4 is a block diagram of a screen design unit according to an exemplary embodiment. 5 is a block diagram of a program and database generator according to an exemplary embodiment. 6 is a block diagram of an automatic test design unit according to an embodiment.

도 1을 참조하면, 한 실시예에 따른 소프트웨어 공학플랫폼은 사용자 단말(10), 설계 서버(100), 및 개발 서버(200)를 포함한다.Referring to FIG. 1 , the software engineering platform according to an embodiment includes a user terminal 10 , a design server 100 , and a development server 200 .

사용자 단말(10)은 사용자로부터 설계 정보를 입력받는다. 설계 정보는 한 실시예로서, 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보, 생성할 프로그램 및 시스템 구성정보, 자동테스트 시나리오를 포함할 수 있다.The user terminal 10 receives design information from the user. The design information may include work process information, screen form related item information, screen design information, and processing logic design information, program and system configuration information to be generated, and an automatic test scenario, as an embodiment.

사용자 단말(10)은 한 실시예로서, 이동 통신 단말기, 데스크톱 컴퓨터, 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(Personal Digital Assistant, PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기일 수 있다.The user terminal 10 is an embodiment, and includes a memory means such as a mobile communication terminal, a desktop computer, a notebook computer, a workstation, a palmtop computer, a personal digital assistant (PDA), a web pad, etc. And it may be a digital device equipped with a microprocessor and equipped with computing power.

화면 설계 정보는 한 실시예로서, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함할 수 있다. 실행화면 설정 정보는 사용자 단말(10)로부터 데이터를 입력받거나 사용자 단말(10)에게 데이터 및 화면을 출력하기 위한 정보일 수 있다.The screen design information is one embodiment, and includes create button information, edit button information, save button information, delete button information, inquiry button information, list button information, create button information, edit button information, save button information, delete button information, inquiry It may include button information, event occurrence information corresponding to list button information, menu setting information, and execution screen setting information. The execution screen setting information may be information for receiving data from the user terminal 10 or outputting data and a screen to the user terminal 10 .

설계 서버(100)는 한 실시예로서, 프로세스 설계부(110), 데이터베이스 설계부(120), 화면 설계부(130), 프로그램 및 데이터베이스 생성부(140), 자동테스트 설계부(150)를 포함할 수 있다.As an embodiment, the design server 100 may include a process design unit 110 , a database design unit 120 , a screen design unit 130 , a program and database generation unit 140 , and an automatic test design unit 150 .

프로세스 설계부(110)는 사용자 단말(10)로부터 업무 프로세스 정보를 수신한다.The process design unit 110 receives business process information from the user terminal 10 .

업무 프로세스 정보는 한 실시예로서, 프로세스 관리를 위한 분류 정보, 한 장소에서 한번에 수행하는 일을 나타내는 단위 업무 정보, 단위 업무 집합을 나타내는 프로세스 정보, 및 단위 업무를 수행하기 위한 절차를 나타내는 절차 정보를 포함할 수 있다.The business process information includes classification information for process management, unit task information indicating tasks performed at once in one place, process information indicating a set of unit tasks, and procedure information indicating a procedure for performing unit tasks, as an embodiment. may include

프로세스 설계부(110)는 한 실시예로서, 업무 프로세스 정보에 기반하여, 복수의 프로세스, 서브 프로세스, 단위 업무, 및 단위 업무별 절차를 설정할 수 있다. 프로세스는 고객에게 가치 있는 산출물을 제공하기 위한 단위 업무의 집합을 의미할 수 있고, 서브 프로세스는 다른 프로세스 전체를 참조한 흐름을 의미할 수 있다. 단위 업무는 완전히 수행되거나 또는 전혀 수행되지 않는 원소적 특성을 지닌 요소일 수 있다.As an embodiment, the process design unit 110 may set a plurality of processes, sub-processes, unit tasks, and procedures for each unit task based on business process information. A process may refer to a set of unit tasks to provide a valuable product to a customer, and a sub-process may refer to a flow referring to all other processes. A unit task can be an element with elemental properties that is either fully performed or not performed at all.

프로세스 설계부(110)는 한 실시예로서, 사용자 단말(10)로부터 프로세스 케이스 정보 및 업무 케이스 정보를 수신하여, 단위 업무를 설정할 수 있다. 프로세스 케이스 정보는 프로세스 중 분기가 발생하여 흐름이 분화되는(선택적으로 수행되는) 특정 업무 절차 유형에 관한 정보일 수 있고, 업무 케이스 정보는 단위 업무 수행 중 분기가 발생하여 단계가 분화되는(선택적으로 수행되는) 특정 단위 업무 수행 절차 유형에 관한 정보일 수 있다.As an embodiment, the process design unit 110 may receive process case information and business case information from the user terminal 10 to set unit tasks. The process case information may be information about a specific type of business procedure in which a flow is differentiated (optionally performed) due to a branching in the process, and the business case information may be information about a specific business procedure type in which a branch occurs during unit task execution and the step is differentiated (optionally) performed) may be information about the type of procedure for performing a specific unit task.

프로세스 설계부(110)는 사용자 단말(10)로부터 업무 프로세스 정보를 수신한다.The process design unit 110 receives business process information from the user terminal 10 .

도 2를 참조하면, 프로세스 설계부(110)는 한 실시예로서, 프로세스 설계 모듈(111), 프로세스 속성 설계 모듈(112), 프로세스 케이스 설계 모듈(113), 단위업무 설계 모듈(114), 단위업무 속성 설계 모듈(115), 단위업무케이스 설계 모듈(116), 및 업무분류 설계 모듈(117)을 포함할 수 있다.Referring to FIG. 2 , the process design unit 110 is, as an embodiment, a process design module 111 , a process attribute design module 112 , a process case design module 113 , a unit task design module 114 , and a unit task. It may include an attribute design module 115 , a unit business case design module 116 , and a business classification design module 117 .

프로세스 설계 모듈(111)은 한 실시예로서, 단위업무 및 서브프로세스의 순서를 설정할 수 있다.As an embodiment, the process design module 111 may set the order of unit tasks and sub-processes.

프로세스 속성 설계 모듈(112)은 한 실시예로서, 프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정할 수 있다.As an embodiment, the process attribute design module 112 may set detailed process information and configuration information, such as unit tasks, sub-processes, roles, and organization information.

프로세스 케이스 설계 모듈(113)은 한 실시예로서, 설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정할 수 있다.As an embodiment, the process case design module 113 may set a set of unit tasks and sub-processes selectively performed according to the setting.

단위업무 설계 모듈(114)은 한 실시예로서, 한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정할 수 있다.The unit work design module 114, as an embodiment, may set an elemental unit of work performed by one person in one place.

단위업무 속성 설계 모듈(115)은 한 실시예로서, 원소단위 업무의 상세정보를 설정할 수 있다.As an embodiment, the unit task attribute design module 115 may set detailed information of the element unit task.

단위업무케이스 설계 모듈(116)은 한 실시예로서, 설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션(transaction) 유형의 모음을 설정할 수 있다.As an embodiment, the unit work case design module 116 may set the order of element unit tasks selectively performed according to the setting, and a collection of event transaction types.

업무분류 설계 모듈(117)은 한 실시예로서, 프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정할 수 있다.As an embodiment, the task classification design module 117 may set tasks of a larger scale than a process to be divided into organizational units.

데이터베이스 설계부(120)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정한다. The database design unit 120 sets the screen form related item information received from the user terminal 10 as a data table item.

데이터베이스 설계부(120)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정한다.The database design unit 120 sets the screen form related item information received from the user terminal 10 as a data table item.

도 3을 참조하면, 데이터베이스 설계부(120)는 한 실시예로서, 테이블 기본 설계 모듈(121), 테이블 관계 설계 모듈(122), 색인 설계 모듈(123)을 포함할 수 있다.Referring to FIG. 3 , the database design unit 120 may include a table basic design module 121 , a table relation design module 122 , and an index design module 123 as an embodiment.

테이블 기본 설계 모듈(121)은 한 실시예로서, 업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정할 수 있다.The table basic design module 121 may set basic table design information including a task name, detailed item information corresponding to the task name, process information corresponding to the task name, and input/output information corresponding to the task name, as an embodiment. have.

테이블 관계 설계 모듈(122)은 한 실시예로서, 테이블 기본 설계 모듈(121)을 통해 설정된 테이블 간의 관계 정보를 설정할 수 있다.As an embodiment, the table relationship design module 122 may set relationship information between tables set through the table basic design module 121 .

색인 설계 모듈(123)은 한 실시예로서, 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정할 수 있다.As an embodiment, the index design module 123 may set index information based on table basic design information and relationship information between tables.

화면 양식 관련 항목 정보는 한 실시예로서, 테이블명, 컬럼 정보, 관계 정보, 인덱스 정보를 포함할 수 있다.The screen style related item information may include table name, column information, relationship information, and index information as an example.

화면 설계부(130)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정한다.The screen design unit 130 sets screen form related item information and processing logic design information received from the user terminal 10 .

도 4를 참조하면, 화면 설계부(130)는 한 실시예로서, 양식 인식 모듈(131), 양식 변환 모듈(132), 데이터베이스 설계 정보 자동생성 모듈(133), 데이터베이스 설계 정보 연결 모듈(134), 화면 항목 설계 모듈(135), 이벤트 설계 모듈(136), 트랜젝션 설계 모듈(137), 화면 컴포넌트 관리 모듈(138), 화면항목 속성 설계 모듈(139)을 포함할 수 있다.Referring to FIG. 4 , the screen design unit 130 as an embodiment includes a form recognition module 131 , a form conversion module 132 , an automatic database design information generation module 133 , a database design information connection module 134 , It may include a screen item design module 135 , an event design module 136 , a transaction design module 137 , a screen component management module 138 , and a screen item property design module 139 .

양식 인식 모듈(131)은 한 실시예로서, 프로세스 설계부(110)에서 설정된 프로세스 설계 정보, 사용자 단말(10)로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정할 수 있다.As an embodiment, the form recognition module 131 may set a screen based on process design information set by the process design unit 110 , screen design information received from the user terminal 10 , and database items.

양식 변환 모듈(132)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환할 수 있다. As an embodiment, the form conversion module 132 may convert the work form received from the user terminal 10 into file information of a preset program form.

양식 변환 모듈(132)은 한 실시예로서, 시스템에서 인식할 수 있도록 네모 또는 동그라미 모양의 도형글자를 체크 박스(Check box) 또는 라디오 박스(Radio Box)로 변환할 수 있다.As an embodiment, the form conversion module 132 may convert a square or circle-shaped figure character into a check box or a radio box so that the system can recognize it.

양식 변환 모듈(132)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 파일 정보를 미리 설정된 화면 설계부 양식으로 변환할 수 있다. 파일 정보는 한 실시예로서, 스마트폰을 통해 촬영된 이미지 정보를 바탕으로 인식된 텍스트정보일 수 있다.As an embodiment, the form conversion module 132 may convert file information received from the user terminal 10 into a preset screen design unit form. As an embodiment, the file information may be text information recognized based on image information captured through a smartphone.

데이터베이스 설계 정보 자동생성 모듈(133)은 한 실시예로서, 양식 변환 모듈(132)로부터 수신한 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성할 수 있다.As an embodiment, the automatic database design information generation module 133 may generate database design information based on the screen design information received from the form conversion module 132 .

데이터베이스 설계 정보 연결 모듈(134)은 한 실시예로서, 양식 변환 모듈(132)로부터 수신한 화면 설계 정보를 바탕으로 기존의 데이터베이스 설계 정보를 동기화할 수 있다.As an embodiment, the database design information connection module 134 may synchronize existing database design information based on the screen design information received from the form conversion module 132 .

화면 항목 설계 모듈(135)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 화면 설계 정보, 화면 항목 설계 정보를 바탕으로 화면 항목을 설정할 수 있다.As an embodiment, the screen item design module 135 may set screen items based on screen design information and screen item design information received from the user terminal 10 .

이벤트 설계 모듈(136)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정할 수 있다.As an embodiment, the event design module 136 may set functions, buttons, links, events, and transactions for responding to user actions occurring on a screen received from the user terminal 10 .

트랜젝션 설계 모듈(137)은 한 실시예로서, 이벤트 설계 모듈(136)을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정할 수 있다.As an embodiment, the transaction design module 137 may set logic and conditions for transmitting a function set through the event design module 136 to an external server.

화면 컴포넌트 관리 모듈(138)은 한 실시예로서, 화면의 구성요소들을 그룹화하고 이를 컴포넌트로 설정할 수 있다.As an embodiment, the screen component management module 138 may group screen components and set them as components.

화면항목 속성 설계 모듈(139)은 한 실시예로서, 화면의 구성요소 항목별 상세 속성을 설정할 수 있다.As an embodiment, the screen item property design module 139 may set detailed properties for each component item of the screen.

데이터 테이블 항목은 한 실시예로서, 업무 명칭(스텝명), 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함할 수 있다.As an embodiment, the data table item may include a task name (step name), detailed item information corresponding to the task name, process information corresponding to the task name, and input/output information corresponding to the task name.

프로그램 및 데이터베이스 생성부(140)는 프로세스 설계부(110)에 의해 설정된 프로세스, 데이터베이스 설계부(120)에 의해 설정된 데이터베이스, 및 화면 설계부(130)에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성한다.The program and database generation unit 140 is configured to generate a web, app, or client based on the process set by the process design unit 110 , the database set by the database design unit 120 , and screen design information set by the screen design unit 130 . create a system

도 5를 참조하면, 프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 프로그램 생성 모듈(141), 데이터베이스 생성 모듈(142)을 포함할 수 있다.Referring to FIG. 5 , the program and database generating unit 140 may include a program generating module 141 and a database generating module 142 as an embodiment.

프로그램 생성 모듈(141)은 한 실시예로서, 프로세스 설계부(110)에서 설정된 프로세스 설계 정보, 화면 설계부(130)에서 설계된 화면 항목 정보를 바탕으로 소스를 생성할 수 있다.As an embodiment, the program generation module 141 may generate a source based on process design information set by the process design unit 110 and screen item information designed by the screen design unit 130 .

데이터베이스 생성 모듈(142)은 한 실시예로서, 데이터베이스 설계부(120)에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성할 수 있다.As an embodiment, the database creation module 142 may generate a database, a table, and a column based on the database design information set by the database design unit 120 .

프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 프로세스 설계부(110), 데이터베이스 설계부(120), 화면 설계부(130)로부터 수신하는 화면 항목 정보 및 데이터베이스 항목 정보를 바탕으로, 소스를 생성할 수 있다.As an embodiment, the program and database generation unit 140 may generate a source based on screen item information and database item information received from the process design unit 110 , the database design unit 120 , and the screen design unit 130 . have.

프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 생성된 화면을 출력할 수 있다.The program and database generator 140 may output the generated screen as an embodiment.

자동테스트 설계부(150)는 프로세스 설계부(110)에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 화면 설계부(130)에 의해 설정된 화면 설계 정보, 데이터베이스 설계부(120)에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 웹 시스템, 앱 시스템, 또는 클라이언트 소프트웨어 시스템의 화면 및 기능 항목을 테스트한다.The automatic test design unit 150 includes unit work procedure design information and process procedure design information set by the process design unit 110 , screen design information set by the screen design unit 130 , and database item design information set by the database design unit 120 . Creates unit test scenarios and integration test scenarios based on , and tests the screen and function items of the web system, app system, or client software system based on the unit test scenario and integration test scenario.

도 6을 참조하면, 자동테스트 설계부(150)는 한 실시예로서, 단위테스트 시나리오 모듈(151), 통합테스트 시나리오 모듈(152), 테스트 모듈(153)을 포함할 수 있다.Referring to FIG. 6 , the automatic test design unit 150 may include a unit test scenario module 151 , an integrated test scenario module 152 , and a test module 153 as an embodiment.

단위테스트 시나리오 모듈(151)은 한 실시예로서, 프로세스 설계부(110)로부터 수신하는 단위업무 절차 설계 정보, 데이터베이스 설계부(120)로부터 수신하는 데이터베이스 항목 설계 정보, 화면 설계부(130)로부터 수신하는 화면 설계 정보를 기반으로 단위테스트 시나리오를 생성할 수 있다.As an embodiment, the unit test scenario module 151 includes unit work procedure design information received from the process design unit 110 , database item design information received from the database design unit 120 , and screen design received from the screen design unit 130 . You can create unit test scenarios based on the information.

통합테스트 시나리오 모듈(152)은 한 실시예로서, 프로세스 설계부(110)로부터 수신하는 프로세스 절차 설계 정보, 데이터베이스 설계부(120)로부터 수신하는 데이터베이스 항목 설계 정보, 화면 설계부(130)로부터 수신하는 화면 설계 정보를 기반으로 통합테스트 시나리오를 생성할 수 있다.The integrated test scenario module 152 is, as an embodiment, process procedure design information received from the process design unit 110 , database item design information received from the database design unit 120 , and screen design information received from the screen design unit 130 . Integration test scenarios can be created based on

테스트 모듈(153)은 한 실시예로서, 단위테스트 시나리오, 통합테스트 시나리오 정보에 기반하여 테스트 결과를 출력할 수 있다. 테스트 모듈(153)은 URL 주소, 화면 명칭, URL 주소 또는 화면 명칭에 대응하는 입력값 정보, URL 주소 또는 화면 명칭에 대응하는 리턴값 정보를 이용하여 테스트를 수행하고, 테스트 결과를 출력할 수 있다.As an embodiment, the test module 153 may output a test result based on unit test scenario and integrated test scenario information. The test module 153 may perform a test using a URL address, a screen name, input value information corresponding to a URL address or screen name, and return value information corresponding to a URL address or screen name, and output a test result. .

한 실시예로서, 테스트 결과는 Pass/Fail 여부 및 관련 상세정보를 포함할 수 있다.As an embodiment, the test result may include pass/fail status and related detailed information.

도 7은 한 실시예에 따른 소프트웨어 공학플랫폼의 동작 내용을 설명하기 위한 도면이다.7 is a diagram for explaining the operation of the software engineering platform according to an embodiment.

도 7을 참조하면, 프로그램 및 데이터 생성부(140)는 소스를 생성하고, 자동테스트 설계부(150)는 단위테스트 시나리오 및 통합테스트 시나리오를 생성한 후, 트랜젝션 자동 테스트, 이벤트 자동 테스트, 단위테스트, 통합테스트 자동 실행을 순차적으로 수행할 수 있다.Referring to FIG. 7 , the program and data generation unit 140 generates a source, and the automatic test design unit 150 generates a unit test scenario and an integration test scenario, and then performs automatic transaction tests, automatic event tests, unit tests, Integration test automatic execution can be performed sequentially.

개발 서버(200)는 기준 정보, 프로그램, 데이터, 텍스트를 저장하고, 설계 서버(100)로부터 변환된 양식, 프로그램 정보, 데이터베이스 정보를 수신할 수 있다.The development server 200 may store reference information, programs, data, and text, and receive the converted form, program information, and database information from the design server 100 .

명세서 전체에서 화면은 한 실시예로서, 웹 또는 앱 화면일 수 있다.Throughout the specification, the screen may be a web or app screen as an embodiment.

명세서 전체에서 화면은 한 실시예로서, 소프트웨어 시스템 일 수 있다.Throughout the specification, a screen may be a software system as an example.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto. is within the scope of the right.

Claims (7)

사용자로부터 설계 정보를 입력받는 사용자 단말, 그리고
미리 저장된 알고리즘을 이용하여, 상기 설계 정보를 바탕으로 실행 가능한 정보시스템을 생성하는 설계 서버를 포함하고,
상기 설계 정보는 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보를 포함하고,
상기 설계 서버는,
상기 사용자 단말로부터 상기 업무 프로세스 정보를 수신하는 프로세스 설계부,
상기 사용자 단말로부터 수신하는 상기 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정하는 데이터베이스 설계부,
상기 사용자 단말로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정하는 화면 설계부,
상기 프로세스 설계부에 의해 설정된 프로세스, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스, 및 상기 화면 설계부에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성하는 프로그램 및 데이터베이스 생성부, 및
상기 프로세스 설계부에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 상기 화면 설계부에 의해 설정된 화면 설계 정보, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 상기 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 상기 웹, 앱 또는 클라이언트 시스템의 화면 및 기능 항목을 테스트하는 자동테스트 설계부
를 포함하는 소프트웨어 공학플랫폼.
A user terminal that receives design information from a user, and
A design server for generating an executable information system based on the design information using a pre-stored algorithm,
The design information includes business process information, screen form related item information, screen design information, and processing logic design information,
The design server,
A process design unit for receiving the business process information from the user terminal,
A database design unit for setting the screen form-related item information received from the user terminal as a data table item;
a screen design unit for setting screen form related item information and processing logic design information received from the user terminal;
a program and database generation unit for generating a web, app, or client system based on the process set by the process design unit, the database set by the database design unit, and screen design information set by the screen design unit; and
A unit test scenario and an integrated test scenario are generated based on the unit work procedure design information and process procedure design information set by the process design unit, the screen design information set by the screen design unit, and the database item design information set by the database design unit, , an automatic test design unit that tests the screen and function items of the web, app, or client system based on the unit test scenario and the integration test scenario
A software engineering platform that includes.
제1항에서,
상기 프로세스 설계부는,
단위업무 및 서브프로세스의 순서를 설정하는 프로세스 설계 모듈,
프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정하는 프로세스 속성 설계 모듈,
설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정하는 프로세스 케이스 설계 모듈,
한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정하는 단위업무 설계 모듈,
원소단위 업무의 상세정보를 설정하는 단위업무 속성 설계 모듈,
설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션 유형의 모음을 설정하는 단위업무케이스 설계 모듈, 및
프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정하는 업무분류 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
In claim 1,
The process design unit,
Process design module that sets the order of unit tasks and sub-processes;
A process attribute design module that sets process details and configuration information, such as unit tasks, sub-processes, roles, and organizational information,
A process case design module that sets a set of unit tasks and sub-processes that are selectively performed according to the setting;
A unit work design module that sets the work steps of element units performed by one person at one place;
Unit work attribute design module to set detailed information of element unit work,
A unit business case design module that sets the sequence of element unit tasks selectively performed according to the setting, a collection of event transaction types, and
A software engineering platform that includes a business classification design module that sets tasks larger than the process to be divided into organizational units.
제1항에서,
상기 데이터베이스 설계부는,
업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정하는 테이블 기본 설계 모듈,
상기 테이블 기본 설계 모듈을 통해 설정된 테이블 간의 관계 정보를 설정하는 테이블 관계 설계 모듈, 및
상기 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정하는 색인 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
In claim 1,
The database design unit,
A table basic design module for setting table basic design information including a job name, detailed item information corresponding to the job name, process information corresponding to the job name, and input/output information corresponding to the job name;
A table relationship design module for setting relationship information between tables set through the table basic design module, and
A software engineering platform comprising an index design module for setting index information based on the table basic design information and relationship information between tables.
제1항에서,
상기 화면 설계부는,
상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 사용자 단말로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정하는 양식 인식 모듈,
상기 사용자 단말로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환하고, 네모 또는 동그라미 모양의 도형글자를 체크 박스 또는 라디오 박스로 변환하는 양식 변환 모듈,
상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성하는 데이터베이스 설계 정보 자동생성 모듈,
상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 동기화하는 데이터베이스 설계 정보 연결 모듈,
상기 사용자 단말로부터 수신하는 화면 설계 정보를 바탕으로 화면 항목을 설정하는 화면 항목 설계 모듈,
상기 사용자 단말로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정하는 이벤트 설계 모듈,
상기 이벤트 설계 모듈을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정하는 트랜젝션 설계 모듈,
화면의 구성요소들을 그룹화하는 화면 컴포넌트 관리 모듈, 및
화면의 구성요소 항목별 상세 속성을 설정하는 화면항목 속성 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
In claim 1,
The screen design unit,
a form recognition module for setting a screen based on the process design information set in the process design unit, the screen design information received from the user terminal, and a database item;
A form conversion module that converts a business form received from the user terminal into file information of a preset program form, and converts a square or circle-shaped figure into a check box or a radio box;
A database design information automatic generation module for generating database design information based on the screen design information received from the form conversion module;
A database design information connection module for synchronizing database design information based on the screen design information received from the form conversion module;
a screen item design module for setting screen items based on screen design information received from the user terminal;
an event design module for setting functions, buttons, links, events, and transactions for responding to user actions occurring on the screen received from the user terminal;
A transaction design module that sets logic and conditions for delivering the function set through the event design module to an external server;
A screen component management module for grouping components of the screen, and
A software engineering platform, including a screen item property design module that sets detailed properties for each component item of the screen.
제1항에서,
상기 프로그램 및 데이터베이스 생성부는,
상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 화면 설계부에서 설정된 화면 항목 정보를 바탕으로 소스를 생성하는 프로그램 생성 모듈, 및
상기 데이터베이스 설계부에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성하는 데이터베이스 생성 모듈을 포함하는, 소프트웨어 공학플랫폼.
In claim 1,
The program and database generation unit,
a program generating module for generating a source based on the process design information set by the process design unit and the screen item information set by the screen design unit; and
A software engineering platform comprising a database creation module for generating a database, tables, and columns based on the database design information set in the database design unit.
제1항에서,
상기 자동테스트 설계부는,
상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 단위테스트 시나리오를 생성하는 단위테스트 시나리오 모듈,
상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 통합테스트 시나리오를 생성하는 통합테스트 시나리오 모듈, 및
상기 단위테스트 시나리오 및 통합테스트 시나리오 정보에 기반하여, 테스트 결과를 출력하는 테스트 모듈을 포함하는, 소프트웨어 공학플랫폼.
In claim 1,
The automatic test design unit,
A unit test scenario module for generating a unit test scenario based on unit work procedure design information received from the process design unit, database item design information received from the database design unit, and screen design information received from the screen design unit;
an integrated test scenario module for generating an integrated test scenario based on unit work procedure design information received from the process design unit, database item design information received from the database design unit, and screen design information received from the screen design unit; and
A software engineering platform comprising a test module for outputting test results based on the unit test scenario and integration test scenario information.
제1항에서,
상기 화면 설계 정보는,
생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 상기 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 및 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함하고,
상기 실행화면 설정 정보는 상기 사용자 단말로부터 데이터를 입력받거나 상기 사용자 단말에게 데이터 및 화면을 출력하기 위한 정보인, 소프트웨어 공학플랫폼.
In claim 1,
The screen design information is
To create button information, edit button information, save button information, delete button information, inquiry button information, list button information, the above creation button information, edit button information, save button information, delete button information, inquiry button information, and list button information Including corresponding event occurrence information, menu setting information, and execution screen setting information,
The execution screen setting information is information for receiving data from the user terminal or outputting data and a screen to the user terminal, a software engineering platform.
KR1020200076254A 2020-06-23 2020-06-23 Software engineering platform for automatically creating program and database by designing information system and for automatically performing test KR102377607B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200076254A KR102377607B1 (en) 2020-06-23 2020-06-23 Software engineering platform for automatically creating program and database by designing information system and for automatically performing test
PCT/KR2021/003114 WO2021261708A1 (en) 2020-06-23 2021-03-12 Software engineering platform designing information system to automatically generate program and database and automatically perform test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200076254A KR102377607B1 (en) 2020-06-23 2020-06-23 Software engineering platform for automatically creating program and database by designing information system and for automatically performing test

Publications (2)

Publication Number Publication Date
KR20210158015A true KR20210158015A (en) 2021-12-30
KR102377607B1 KR102377607B1 (en) 2022-03-23

Family

ID=79178793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200076254A KR102377607B1 (en) 2020-06-23 2020-06-23 Software engineering platform for automatically creating program and database by designing information system and for automatically performing test

Country Status (2)

Country Link
KR (1) KR102377607B1 (en)
WO (1) WO2021261708A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240035250A (en) 2022-09-08 2024-03-15 슈어소프트테크주식회사 Unit test re-using method, and computer-readable recording medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100000886A (en) * 2008-06-26 2010-01-06 (주)맨인소프트 A method of generating a work-process system using a technique which a general user can design and revise
KR20110103309A (en) * 2010-03-12 2011-09-20 블루가 (주) Apparatus for implementing a web-based user interface about a communication terminal and method thereof
KR20130029224A (en) * 2011-09-14 2013-03-22 한양디지텍 주식회사 Apparatus for testing application program automatically based on web
KR20150022585A (en) * 2013-08-23 2015-03-04 주식회사 엘지씨엔에스 Method of designing business logic, server performing the same and storage media storing the same
KR20150040483A (en) * 2013-10-07 2015-04-15 에스케이플래닛 주식회사 Apparatus, method and computer-readable medium for development web application

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870499B2 (en) * 2007-03-16 2011-01-11 Sap Ag System for composing software appliances using user task models
KR20180135654A (en) * 2017-06-13 2018-12-21 황대민 Intuitive method of making a program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100000886A (en) * 2008-06-26 2010-01-06 (주)맨인소프트 A method of generating a work-process system using a technique which a general user can design and revise
KR20110103309A (en) * 2010-03-12 2011-09-20 블루가 (주) Apparatus for implementing a web-based user interface about a communication terminal and method thereof
KR20130029224A (en) * 2011-09-14 2013-03-22 한양디지텍 주식회사 Apparatus for testing application program automatically based on web
KR20150022585A (en) * 2013-08-23 2015-03-04 주식회사 엘지씨엔에스 Method of designing business logic, server performing the same and storage media storing the same
KR20150040483A (en) * 2013-10-07 2015-04-15 에스케이플래닛 주식회사 Apparatus, method and computer-readable medium for development web application

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240035250A (en) 2022-09-08 2024-03-15 슈어소프트테크주식회사 Unit test re-using method, and computer-readable recording medium

Also Published As

Publication number Publication date
KR102377607B1 (en) 2022-03-23
WO2021261708A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US7032170B2 (en) Creating data structures from a form file and creating a web page in conjunction with corresponding data structures
WO2020233330A1 (en) Batch testing method, apparatus, and computer-readable storage medium
US9189377B1 (en) Automation testing using descriptive maps
US8090611B2 (en) System, method, and computer program product for enabling workflow applications
US8478602B2 (en) Executing business processes using persistent variables
CN110717320A (en) Form/report designer and method suitable for multiple platforms and information management system
CN104572072B (en) A kind of language transfer method and equipment to the program based on MVC pattern
US10510044B2 (en) Project management system providing digital form-based inspections in the field
CN111488145A (en) Micro-service code generation system and method based on service domain data model base
CN101625738A (en) Method and device for generating context-aware universal workflow application
CN108958728A (en) Loan product development approach, device, equipment and computer storage medium
US11886836B2 (en) Dynamic enterprise application platform
CN112801777A (en) Bank letter automatic processing method, system, electronic equipment and storage medium
CN112506505A (en) Method for producing program code by code template engine
KR102377607B1 (en) Software engineering platform for automatically creating program and database by designing information system and for automatically performing test
CN115016321A (en) Hardware-in-loop automatic testing method, device and system
CN114357041A (en) Industrial data asset publishing method and device
US20210124752A1 (en) System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface
CN112016256A (en) Integrated circuit development platform, method, storage medium and equipment
CN115469849B (en) Service processing system, method, electronic equipment and storage medium
US20230153723A1 (en) Workflow manager
US11669332B1 (en) Systems and methods for modernizing legacy applications
CN109767176A (en) System architecture diagram processing method, device, computer equipment and storage medium
JP6336922B2 (en) Business impact location extraction method and business impact location extraction device based on business variations
US8484624B1 (en) Test integration tool

Legal Events

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