KR102377607B1 - 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼 - Google Patents

정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼 Download PDF

Info

Publication number
KR102377607B1
KR102377607B1 KR1020200076254A KR20200076254A KR102377607B1 KR 102377607 B1 KR102377607 B1 KR 102377607B1 KR 1020200076254 A KR1020200076254 A KR 1020200076254A KR 20200076254 A KR20200076254 A KR 20200076254A KR 102377607 B1 KR102377607 B1 KR 102377607B1
Authority
KR
South Korea
Prior art keywords
design
information
unit
screen
database
Prior art date
Application number
KR1020200076254A
Other languages
English (en)
Other versions
KR20210158015A (ko
Inventor
박병용
Original Assignee
(주)지산웨어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)지산웨어 filed Critical (주)지산웨어
Priority to KR1020200076254A priority Critical patent/KR102377607B1/ko
Priority to PCT/KR2021/003114 priority patent/WO2021261708A1/ko
Publication of KR20210158015A publication Critical patent/KR20210158015A/ko
Application granted granted Critical
Publication of KR102377607B1 publication Critical patent/KR102377607B1/ko

Links

Images

Classifications

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

Abstract

사용자로부터 설계 정보를 입력받는 사용자 단말, 그리고 미리 저장된 알고리즘을 이용하여, 상기 설계 정보를 바탕으로 실행 가능한 정보시스템을 생성하는 설계 서버를 포함하고, 상기 설계 정보는 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보를 포함하고, 상기 설계 서버는, 상기 사용자 단말로부터 상기 업무 프로세스 정보를 수신하는 프로세스 설계부, 상기 사용자 단말로부터 수신하는 상기 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정하는 데이터베이스 설계부, 상기 사용자 단말로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정하는 화면 설계부, 상기 프로세스 설계부에 의해 설정된 프로세스, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스, 및 상기 화면 설계부에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성하는 프로그램 및 데이터베이스 생성부, 및 상기 프로세스 설계부에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 상기 화면 설계부에 의해 설정된 화면 설계 정보, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 상기 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 상기 웹, 앱 또는 클라이언트 시스템의 화면 및 기능 항목을 테스트하는 자동테스트 설계부를 포함하는 소프트웨어 공학플랫폼이 제공된다.

Description

정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼{SOFTWARE ENGINEERING PLATFORM FOR AUTOMATICALLY CREATING PROGRAM AND DATABASE BY DESIGNING INFORMATION SYSTEM AND FOR AUTOMATICALLY PERFORMING TEST}
본 발명은 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼에 관한 것으로, 특히 실세계에서 필요한 시스템 및 화면을 손쉽게 구현해주는 소프트웨어 공학플랫폼에 관한 것이다.
최근, 공공기관을 포함한 프로젝트 발주처에서는 분리 발주 방식이나 원격지 개발 제도를 이용해 소프트웨어 개발하거나 발주한 후, 개발된 소프트웨어를 검증 및 평가하고 있다.
분리 발주 방식은 종래에 토목, 건축물 설계 및 시공시 주로 이용되는 방식이었는데, 이는 설계 사업자와 시공 사업자를 분리 발주하여 설계 사업자와 시공 사업자를 달리 확정하여 진행하는 방식이다. 최근에는 "국가기관 등의 장은 소프트웨어사업 발주 시 소프트웨어사업의 요구사항을 상세하게 작성하도록 하고, 이를 위하여 별도의 분석 또는 설계사업을 분리하여 발주할 수 있도록 함"의 내용이 포함된 소프트웨어진흥법 개정으로 분리발주가 법제화되었다. 이러한 분리 발주 방식은 설계 사업자가 명확히 요구 검증 사항을 마쳐야 개발 사업자가 개발할 수 있는 방식이다.
원격지 개발 방식은 소프트웨어 설계 지역과 소프트웨어 개발 및 운영 지역을 달리하여 진행하는 제도이다. 즉, 원격지에서는 소프트웨어를 상세히 설계하되, 타 지역인 개발지에서는 원격지의 분석 설계 산출물을 토대로 소프트웨어를 개발 및 구현하는 방식이다. 이러한 원격지 개발 방식은 원격지와 개발지 간에 다양한 커뮤니케이션이 형성되어야 한다. 원격지 개발 또한 최근 개정된 SW진흥법에 전면 허용되어 점차 증가할 전망이다.
하지만, 종래의 분리 발주 및 원격지 개발 방식을 통한 프로그램 설계시에는 설계된 프로그램이나 소프트웨어를 개발자나 발주처 그리고 고객이 검증한 후, 검증 결과에 따라 수정하는 과정이 반복되므로 검증 및 수정 시간이 지연되는 문제가 있었다. 즉, 소프트웨어 설계 및 개발 후 발주처나 고객의 검증 결과 및 요구 사항에 따라 수정하고 재차 검증받는 일련의 순환 과정에서 걸리는 시간이 지연될 수밖에 없었기 때문에 종래의 분리 발주 및 원격지 개발 방식을 통한 프로그램 설계 효율이 저하될 수밖에 없었다.
이에 따라, 실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현할 수 있는 기술이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현할 수 있는 소프트웨어 공학플랫폼을 제공하는 것이다.
한 실시예에 따르면, 소프트웨어 공학플랫폼이 제공된다.
상기 소프트웨어 공학플랫폼은 사용자로부터 설계 정보를 입력받는 사용자 단말, 그리고 미리 저장된 알고리즘을 이용하여, 상기 설계 정보를 바탕으로 실행 가능한 정보시스템을 생성하는 설계 서버를 포함하고, 상기 설계 정보는 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보를 포함하고, 상기 설계 서버는, 상기 사용자 단말로부터 상기 업무 프로세스 정보를 수신하는 프로세스 설계부, 상기 사용자 단말로부터 수신하는 상기 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정하는 데이터베이스 설계부, 상기 사용자 단말로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정하는 화면 설계부, 상기 프로세스 설계부에 의해 설정된 프로세스, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스, 및 상기 화면 설계부에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성하는 프로그램 및 데이터베이스 생성부, 및 상기 프로세스 설계부에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 상기 화면 설계부에 의해 설정된 화면 설계 정보, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 상기 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 상기 웹, 앱 또는 클라이언트 시스템의 화면 및 기능 항목을 테스트하는 자동테스트 설계부를 포함한다.
상기 프로세스 설계부는, 단위업무 및 서브프로세스의 순서를 설정하는 프로세스 설계 모듈, 프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정하는 프로세스 속성 설계 모듈, 설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정하는 프로세스 케이스 설계 모듈, 한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정하는 단위업무 설계 모듈, 원소단위 업무의 상세정보를 설정하는 단위업무 속성 설계 모듈, 설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션 유형의 모음을 설정하는 단위업무케이스 설계 모듈, 및 프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정하는 업무분류 설계 모듈을 포함할 수 있다.
상기 데이터베이스 설계부는, 업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정하는 테이블 기본 설계 모듈, 상기 테이블 기본 설계 모듈을 통해 설정된 테이블 간의 관계 정보를 설정하는 테이블 관계 설계 모듈, 및 상기 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정하는 색인 설계 모듈을 포함할 수 있다.
상기 화면 설계부는, 상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 사용자 단말로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정하는 양식 인식 모듈, 상기 사용자 단말로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환하고, 네모 또는 동그라미 모양의 도형글자를 체크 박스 또는 라디오 박스로 변환하는 양식 변환 모듈, 상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성하는 데이터베이스 설계 정보 자동생성 모듈, 상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 동기화하는 데이터베이스 설계 정보 연결 모듈, 상기 사용자 단말로부터 수신하는 화면 설계 정보를 바탕으로 화면 항목을 설정하는 화면 항목 설계 모듈, 상기 사용자 단말로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정하는 이벤트 설계 모듈, 상기 이벤트 설계 모듈을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정하는 트랜젝션 설계 모듈, 화면의 구성요소들을 그룹화하는 화면 컴포넌트 관리 모듈, 및 화면의 구성요소 항목별 상세 속성을 설정하는 화면항목 속성 설계 모듈을 포함할 수 있다.
상기 프로그램 및 데이터베이스 생성부는, 상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 화면 설계부에서 설정된 화면 항목 정보를 바탕으로 소스를 생성하는 프로그램 생성 모듈, 및 상기 데이터베이스 설계부에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성하는 데이터베이스 생성 모듈을 포함할 수 있다.
상기 자동테스트 설계부는, 상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 단위테스트 시나리오를 생성하는 단위테스트 시나리오 모듈, 상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 통합테스트 시나리오를 생성하는 통합테스트 시나리오 모듈, 및 상기 단위테스트 시나리오 및 통합테스트 시나리오 정보에 기반하여, 테스트 결과를 출력하는 테스트 모듈을 포함할 수 있다.
상기 화면 설계 정보는, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 상기 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 및 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함하고, 상기 실행화면 설정 정보는 상기 사용자 단말로부터 데이터를 입력받거나 상기 사용자 단말에게 데이터 및 화면을 출력하기 위한 정보일 수 있다.
실세계에서 필요한 시스템 및 화면을 현업 및 일반 사용자도 손쉽게 구현 및 확인이 가능하므로, 소프트웨어 개발 및 검증 시간을 줄이고 협업을 통해 개발 효율을 향상시킬 수 있다.
도 1은 한 실시예에 따른 소프트웨어 공학플랫폼의 블록도이다.
도 2는 한 실시예에 따른 프로세스 설계부의 블록도이다.
도 3은 한 실시예에 따른 데이터베이스 설계부의 블록도이다.
도 4는 한 실시예에 따른 화면 설계부의 블록도이다.
도 5는 한 실시예에 따른 프로그램 및 데이터베이스 생성부의 블록도이다.
도 6은 한 실시예에 따른 자동테스트 설계부의 블록도이다.
도 7은 한 실시예에 따른 소프트웨어 공학플랫폼의 동작 내용을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 한 실시예에 따른 소프트웨어 공학플랫폼의 블록도이다. 도 2는 한 실시예에 따른 프로세스 설계부의 블록도이다. 도 3은 한 실시예에 따른 데이터베이스 설계부의 블록도이다. 도 4는 한 실시예에 따른 화면 설계부의 블록도이다. 도 5는 한 실시예에 따른 프로그램 및 데이터베이스 생성부의 블록도이다. 도 6은 한 실시예에 따른 자동테스트 설계부의 블록도이다.
도 1을 참조하면, 한 실시예에 따른 소프트웨어 공학플랫폼은 사용자 단말(10), 설계 서버(100), 및 개발 서버(200)를 포함한다.
사용자 단말(10)은 사용자로부터 설계 정보를 입력받는다. 설계 정보는 한 실시예로서, 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보, 생성할 프로그램 및 시스템 구성정보, 자동테스트 시나리오를 포함할 수 있다.
사용자 단말(10)은 한 실시예로서, 이동 통신 단말기, 데스크톱 컴퓨터, 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(Personal Digital Assistant, PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기일 수 있다.
화면 설계 정보는 한 실시예로서, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함할 수 있다. 실행화면 설정 정보는 사용자 단말(10)로부터 데이터를 입력받거나 사용자 단말(10)에게 데이터 및 화면을 출력하기 위한 정보일 수 있다.
설계 서버(100)는 한 실시예로서, 프로세스 설계부(110), 데이터베이스 설계부(120), 화면 설계부(130), 프로그램 및 데이터베이스 생성부(140), 자동테스트 설계부(150)를 포함할 수 있다.
프로세스 설계부(110)는 사용자 단말(10)로부터 업무 프로세스 정보를 수신한다.
업무 프로세스 정보는 한 실시예로서, 프로세스 관리를 위한 분류 정보, 한 장소에서 한번에 수행하는 일을 나타내는 단위 업무 정보, 단위 업무 집합을 나타내는 프로세스 정보, 및 단위 업무를 수행하기 위한 절차를 나타내는 절차 정보를 포함할 수 있다.
프로세스 설계부(110)는 한 실시예로서, 업무 프로세스 정보에 기반하여, 복수의 프로세스, 서브 프로세스, 단위 업무, 및 단위 업무별 절차를 설정할 수 있다. 프로세스는 고객에게 가치 있는 산출물을 제공하기 위한 단위 업무의 집합을 의미할 수 있고, 서브 프로세스는 다른 프로세스 전체를 참조한 흐름을 의미할 수 있다. 단위 업무는 완전히 수행되거나 또는 전혀 수행되지 않는 원소적 특성을 지닌 요소일 수 있다.
프로세스 설계부(110)는 한 실시예로서, 사용자 단말(10)로부터 프로세스 케이스 정보 및 업무 케이스 정보를 수신하여, 단위 업무를 설정할 수 있다. 프로세스 케이스 정보는 프로세스 중 분기가 발생하여 흐름이 분화되는(선택적으로 수행되는) 특정 업무 절차 유형에 관한 정보일 수 있고, 업무 케이스 정보는 단위 업무 수행 중 분기가 발생하여 단계가 분화되는(선택적으로 수행되는) 특정 단위 업무 수행 절차 유형에 관한 정보일 수 있다.
프로세스 설계부(110)는 사용자 단말(10)로부터 업무 프로세스 정보를 수신한다.
도 2를 참조하면, 프로세스 설계부(110)는 한 실시예로서, 프로세스 설계 모듈(111), 프로세스 속성 설계 모듈(112), 프로세스 케이스 설계 모듈(113), 단위업무 설계 모듈(114), 단위업무 속성 설계 모듈(115), 단위업무케이스 설계 모듈(116), 및 업무분류 설계 모듈(117)을 포함할 수 있다.
프로세스 설계 모듈(111)은 한 실시예로서, 단위업무 및 서브프로세스의 순서를 설정할 수 있다.
프로세스 속성 설계 모듈(112)은 한 실시예로서, 프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정할 수 있다.
프로세스 케이스 설계 모듈(113)은 한 실시예로서, 설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정할 수 있다.
단위업무 설계 모듈(114)은 한 실시예로서, 한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정할 수 있다.
단위업무 속성 설계 모듈(115)은 한 실시예로서, 원소단위 업무의 상세정보를 설정할 수 있다.
단위업무케이스 설계 모듈(116)은 한 실시예로서, 설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션(transaction) 유형의 모음을 설정할 수 있다.
업무분류 설계 모듈(117)은 한 실시예로서, 프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정할 수 있다.
데이터베이스 설계부(120)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정한다.
데이터베이스 설계부(120)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정한다.
도 3을 참조하면, 데이터베이스 설계부(120)는 한 실시예로서, 테이블 기본 설계 모듈(121), 테이블 관계 설계 모듈(122), 색인 설계 모듈(123)을 포함할 수 있다.
테이블 기본 설계 모듈(121)은 한 실시예로서, 업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정할 수 있다.
테이블 관계 설계 모듈(122)은 한 실시예로서, 테이블 기본 설계 모듈(121)을 통해 설정된 테이블 간의 관계 정보를 설정할 수 있다.
색인 설계 모듈(123)은 한 실시예로서, 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정할 수 있다.
화면 양식 관련 항목 정보는 한 실시예로서, 테이블명, 컬럼 정보, 관계 정보, 인덱스 정보를 포함할 수 있다.
화면 설계부(130)는 사용자 단말(10)로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정한다.
도 4를 참조하면, 화면 설계부(130)는 한 실시예로서, 양식 인식 모듈(131), 양식 변환 모듈(132), 데이터베이스 설계 정보 자동생성 모듈(133), 데이터베이스 설계 정보 연결 모듈(134), 화면 항목 설계 모듈(135), 이벤트 설계 모듈(136), 트랜젝션 설계 모듈(137), 화면 컴포넌트 관리 모듈(138), 화면항목 속성 설계 모듈(139)을 포함할 수 있다.
양식 인식 모듈(131)은 한 실시예로서, 프로세스 설계부(110)에서 설정된 프로세스 설계 정보, 사용자 단말(10)로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정할 수 있다.
양식 변환 모듈(132)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환할 수 있다.
양식 변환 모듈(132)은 한 실시예로서, 시스템에서 인식할 수 있도록 네모 또는 동그라미 모양의 도형글자를 체크 박스(Check box) 또는 라디오 박스(Radio Box)로 변환할 수 있다.
양식 변환 모듈(132)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 파일 정보를 미리 설정된 화면 설계부 양식으로 변환할 수 있다. 파일 정보는 한 실시예로서, 스마트폰을 통해 촬영된 이미지 정보를 바탕으로 인식된 텍스트정보일 수 있다.
데이터베이스 설계 정보 자동생성 모듈(133)은 한 실시예로서, 양식 변환 모듈(132)로부터 수신한 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성할 수 있다.
데이터베이스 설계 정보 연결 모듈(134)은 한 실시예로서, 양식 변환 모듈(132)로부터 수신한 화면 설계 정보를 바탕으로 기존의 데이터베이스 설계 정보를 동기화할 수 있다.
화면 항목 설계 모듈(135)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 화면 설계 정보, 화면 항목 설계 정보를 바탕으로 화면 항목을 설정할 수 있다.
이벤트 설계 모듈(136)은 한 실시예로서, 사용자 단말(10)로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정할 수 있다.
트랜젝션 설계 모듈(137)은 한 실시예로서, 이벤트 설계 모듈(136)을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정할 수 있다.
화면 컴포넌트 관리 모듈(138)은 한 실시예로서, 화면의 구성요소들을 그룹화하고 이를 컴포넌트로 설정할 수 있다.
화면항목 속성 설계 모듈(139)은 한 실시예로서, 화면의 구성요소 항목별 상세 속성을 설정할 수 있다.
데이터 테이블 항목은 한 실시예로서, 업무 명칭(스텝명), 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함할 수 있다.
프로그램 및 데이터베이스 생성부(140)는 프로세스 설계부(110)에 의해 설정된 프로세스, 데이터베이스 설계부(120)에 의해 설정된 데이터베이스, 및 화면 설계부(130)에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성한다.
도 5를 참조하면, 프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 프로그램 생성 모듈(141), 데이터베이스 생성 모듈(142)을 포함할 수 있다.
프로그램 생성 모듈(141)은 한 실시예로서, 프로세스 설계부(110)에서 설정된 프로세스 설계 정보, 화면 설계부(130)에서 설계된 화면 항목 정보를 바탕으로 소스를 생성할 수 있다.
데이터베이스 생성 모듈(142)은 한 실시예로서, 데이터베이스 설계부(120)에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성할 수 있다.
프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 프로세스 설계부(110), 데이터베이스 설계부(120), 화면 설계부(130)로부터 수신하는 화면 항목 정보 및 데이터베이스 항목 정보를 바탕으로, 소스를 생성할 수 있다.
프로그램 및 데이터베이스 생성부(140)는 한 실시예로서, 생성된 화면을 출력할 수 있다.
자동테스트 설계부(150)는 프로세스 설계부(110)에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 화면 설계부(130)에 의해 설정된 화면 설계 정보, 데이터베이스 설계부(120)에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 웹 시스템, 앱 시스템, 또는 클라이언트 소프트웨어 시스템의 화면 및 기능 항목을 테스트한다.
도 6을 참조하면, 자동테스트 설계부(150)는 한 실시예로서, 단위테스트 시나리오 모듈(151), 통합테스트 시나리오 모듈(152), 테스트 모듈(153)을 포함할 수 있다.
단위테스트 시나리오 모듈(151)은 한 실시예로서, 프로세스 설계부(110)로부터 수신하는 단위업무 절차 설계 정보, 데이터베이스 설계부(120)로부터 수신하는 데이터베이스 항목 설계 정보, 화면 설계부(130)로부터 수신하는 화면 설계 정보를 기반으로 단위테스트 시나리오를 생성할 수 있다.
통합테스트 시나리오 모듈(152)은 한 실시예로서, 프로세스 설계부(110)로부터 수신하는 프로세스 절차 설계 정보, 데이터베이스 설계부(120)로부터 수신하는 데이터베이스 항목 설계 정보, 화면 설계부(130)로부터 수신하는 화면 설계 정보를 기반으로 통합테스트 시나리오를 생성할 수 있다.
테스트 모듈(153)은 한 실시예로서, 단위테스트 시나리오, 통합테스트 시나리오 정보에 기반하여 테스트 결과를 출력할 수 있다. 테스트 모듈(153)은 URL 주소, 화면 명칭, URL 주소 또는 화면 명칭에 대응하는 입력값 정보, URL 주소 또는 화면 명칭에 대응하는 리턴값 정보를 이용하여 테스트를 수행하고, 테스트 결과를 출력할 수 있다.
한 실시예로서, 테스트 결과는 Pass/Fail 여부 및 관련 상세정보를 포함할 수 있다.
도 7은 한 실시예에 따른 소프트웨어 공학플랫폼의 동작 내용을 설명하기 위한 도면이다.
도 7을 참조하면, 프로그램 및 데이터 생성부(140)는 소스를 생성하고, 자동테스트 설계부(150)는 단위테스트 시나리오 및 통합테스트 시나리오를 생성한 후, 트랜젝션 자동 테스트, 이벤트 자동 테스트, 단위테스트, 통합테스트 자동 실행을 순차적으로 수행할 수 있다.
개발 서버(200)는 기준 정보, 프로그램, 데이터, 텍스트를 저장하고, 설계 서버(100)로부터 변환된 양식, 프로그램 정보, 데이터베이스 정보를 수신할 수 있다.
명세서 전체에서 화면은 한 실시예로서, 웹 또는 앱 화면일 수 있다.
명세서 전체에서 화면은 한 실시예로서, 소프트웨어 시스템 일 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (7)

  1. 사용자로부터 설계 정보를 입력받는 사용자 단말, 그리고
    미리 저장된 알고리즘을 이용하여, 상기 설계 정보를 바탕으로 실행 가능한 정보시스템을 생성하는 설계 서버를 포함하고,
    상기 설계 정보는 업무 프로세스 정보, 화면 양식 관련 항목 정보, 화면 설계 정보, 및 처리 로직 설계 정보를 포함하고,
    상기 설계 서버는,
    상기 사용자 단말로부터 상기 업무 프로세스 정보를 수신하는 프로세스 설계부,
    상기 사용자 단말로부터 수신하는 상기 화면 양식 관련 항목 정보를 데이터 테이블 항목으로 설정하는 데이터베이스 설계부,
    상기 사용자 단말로부터 수신하는 화면 양식 관련 항목 정보 및 처리 로직 설계 정보를 설정하는 화면 설계부,
    상기 프로세스 설계부에 의해 설정된 프로세스, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스, 및 상기 화면 설계부에 의해 설정된 화면 설계 정보를 바탕으로, 웹, 앱 또는 클라이언트 시스템을 생성하는 프로그램 및 데이터베이스 생성부, 및
    상기 프로세스 설계부에 의해 설정된 단위업무 절차 설계 정보 및 프로세스 절차 설계 정보, 상기 화면 설계부에 의해 설정된 화면 설계 정보, 상기 데이터베이스 설계부에 의해 설정된 데이터베이스 항목 설계 정보를 바탕으로 단위테스트 시나리오 및 통합테스트 시나리오를 생성하고, 상기 단위테스트 시나리오 및 통합테스트 시나리오에 기반하여 상기 웹, 앱 또는 클라이언트 시스템의 화면 및 기능 항목을 테스트하는 자동테스트 설계부
    를 포함하고,
    상기 화면 설계부는,
    상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 사용자 단말로부터 수신하는 화면 설계 정보 및 데이터베이스 항목을 바탕으로 화면을 설정하는 양식 인식 모듈,
    상기 사용자 단말로부터 수신하는 화면 설계 정보를 바탕으로 화면 항목을 설정하는 화면 항목 설계 모듈,
    상기 사용자 단말로부터 수신하는 업무양식을 미리 설정된 프로그램 양식의 파일정보로 변환하고, 네모 또는 동그라미 모양의 도형글자를 체크 박스 또는 라디오 박스로 변환하는 양식 변환 모듈,
    상기 사용자 단말로부터 수신하는 화면 상에서 발생하는 사용자 동작에 반응하기 위한 기능, 버튼, 링크, 이벤트, 트랜젝션을 설정하는 이벤트 설계 모듈,
    상기 이벤트 설계 모듈을 통해 설정된 기능을 외부 서버에 전달하기 위한 로직 및 조건을 설정하는 트랜젝션 설계 모듈, 및
    화면의 구성요소들을 그룹화하는 화면 컴포넌트 관리 모듈을 포함하며,
    상기 자동테스트 설계부는,
    URL 주소, 화면 명칭, URL 주소 또는 화면 명칭에 대응하는 입력값 정보, URL 주소 또는 화면 명칭에 대응하는 리턴값 정보를 이용하여 테스트를 수행하고, 테스트 결과를 출력하는 테스트 모듈을 포함하는 소프트웨어 공학플랫폼.
  2. 제1항에서,
    상기 프로세스 설계부는,
    단위업무 및 서브프로세스의 순서를 설정하는 프로세스 설계 모듈,
    프로세스 상세정보와 구성정보인 단위업무, 서브프로세스, 역할, 및 조직 정보를 설정하는 프로세스 속성 설계 모듈,
    설정에 따라 선택적으로 수행되는 단위업무, 서브프로세스 모음을 설정하는 프로세스 케이스 설계 모듈,
    한 장소에서 한 사람에 의해 수행되는 원소단위의 업무 단계를 설정하는 단위업무 설계 모듈,
    원소단위 업무의 상세정보를 설정하는 단위업무 속성 설계 모듈,
    설정에 따라 선택적으로 수행되는 원소단위 업무의 순서, 이벤트 트랜젝션 유형의 모음을 설정하는 단위업무케이스 설계 모듈, 및
    프로세스 보다 큰 규모의 업무를 조직 단위로 구분되도록 설정하는 업무분류 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
  3. 제1항에서,
    상기 데이터베이스 설계부는,
    업무 명칭, 업무 명칭에 대응하는 세부항목 정보, 업무 명칭에 대응하는 프로세스 정보, 업무 명칭에 대응하는 입출력 정보를 포함하는 테이블 기본 설계 정보를 설정하는 테이블 기본 설계 모듈,
    상기 테이블 기본 설계 모듈을 통해 설정된 테이블 간의 관계 정보를 설정하는 테이블 관계 설계 모듈, 및
    상기 테이블 기본 설계 정보 및 테이블 간의 관계 정보를 바탕으로 색인 정보를 설정하는 색인 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
  4. 제1항에서,
    상기 화면 설계부는,
    상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 생성하는 데이터베이스 설계 정보 자동생성 모듈,
    상기 양식 변환 모듈로부터 수신하는 화면 설계 정보를 바탕으로 데이터베이스 설계 정보를 동기화하는 데이터베이스 설계 정보 연결 모듈, 및
    화면의 구성요소 항목별 상세 속성을 설정하는 화면항목 속성 설계 모듈을 포함하는, 소프트웨어 공학플랫폼.
  5. 제1항에서,
    상기 프로그램 및 데이터베이스 생성부는,
    상기 프로세스 설계부에서 설정된 프로세스 설계 정보, 상기 화면 설계부에서 설정된 화면 항목 정보를 바탕으로 소스를 생성하는 프로그램 생성 모듈, 및
    상기 데이터베이스 설계부에서 설정된 데이터베이스 설계 정보를 바탕으로 데이터베이스, 테이블, 및 컬럼을 생성하는 데이터베이스 생성 모듈을 포함하는, 소프트웨어 공학플랫폼.
  6. 제1항에서,
    상기 자동테스트 설계부는,
    상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 단위테스트 시나리오를 생성하는 단위테스트 시나리오 모듈, 및
    상기 프로세스 설계부로부터 수신하는 단위업무 절차 설계 정보, 상기 데이터베이스 설계부로부터 수신하는 데이터베이스 항목 설계 정보, 상기 화면 설계부로부터 수신하는 화면 설계 정보를 기반으로, 통합테스트 시나리오를 생성하는 통합테스트 시나리오 모듈을 포함하는, 소프트웨어 공학플랫폼.
  7. 제1항에서,
    상기 화면 설계 정보는,
    생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 목록 버튼 정보, 상기 생성 버튼 정보, 수정 버튼 정보, 저장 버튼 정보, 삭제 버튼 정보, 조회 버튼 정보, 및 목록 버튼 정보에 대응하는 이벤트 발생 정보, 메뉴 설정 정보, 및 실행화면 설정 정보를 포함하고,
    상기 실행화면 설정 정보는 상기 사용자 단말로부터 데이터를 입력받거나 상기 사용자 단말에게 데이터 및 화면을 출력하기 위한 정보인, 소프트웨어 공학플랫폼.
KR1020200076254A 2020-06-23 2020-06-23 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼 KR102377607B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200076254A KR102377607B1 (ko) 2020-06-23 2020-06-23 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼
PCT/KR2021/003114 WO2021261708A1 (ko) 2020-06-23 2021-03-12 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200076254A KR102377607B1 (ko) 2020-06-23 2020-06-23 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼

Publications (2)

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

Family

ID=79178793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200076254A KR102377607B1 (ko) 2020-06-23 2020-06-23 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240035250A (ko) 2022-09-08 2024-03-15 슈어소프트테크주식회사 단위 테스트 재사용 방법 및 컴퓨터 판독 가능 기록매체

Family Cites Families (7)

* 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
KR100994829B1 (ko) * 2008-06-26 2010-11-16 정윤식 일반사용자가 코딩없이 제작하고 수정할 수 있는 기술을 이용한 업무처리 시스템 작성방법
KR20100048965A (ko) * 2010-03-12 2010-05-11 블루가 (주) 웹 기반 사용자 인터페이스 구현 장치 및 그 방법
KR20130029224A (ko) * 2011-09-14 2013-03-22 한양디지텍 주식회사 웹에 기반하여 개발된 응용 프로그램을 자동적으로 테스트하는 장치
KR101534153B1 (ko) * 2013-08-23 2015-07-06 주식회사 엘지씨엔에스 비즈니스 로직 설계 방법, 이를 수행하는 비즈니스 로직 설계 서버 및 이를 저장하는 기록매체
KR102150545B1 (ko) * 2013-10-07 2020-10-26 에스케이플래닛 주식회사 웹 앱 개발 장치, 방법 및 컴퓨터로 판독 가능한 기록 매체
KR20180135654A (ko) * 2017-06-13 2018-12-21 황대민 프로그램의 직관적 제작방법

Also Published As

Publication number Publication date
WO2021261708A1 (ko) 2021-12-30
KR20210158015A (ko) 2021-12-30

Similar Documents

Publication Publication Date Title
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
US9524230B2 (en) Testing coordinator
US7032170B2 (en) Creating data structures from a form file and creating a web page in conjunction with corresponding data structures
US9189377B1 (en) Automation testing using descriptive maps
US7752606B2 (en) Software development tool using a structured format to generate software code
US8478602B2 (en) Executing business processes using persistent variables
CN110717320A (zh) 适用于多平台的表单/报表设计器、方法及信息化管理系统
CN111506444A (zh) 表单的审批方法、装置、存储介质及电子设备
CN111488145A (zh) 一种基于业务域数据模型库的微服务代码生成系统及方法
CN101625738A (zh) 生成上下文感知的通用工作流应用的方法和装置
CN109814856A (zh) 数据录入方法、装置、终端及计算机可读存储介质
JP2019207687A (ja) データモデルのオブジェクトを使用したプロジェクト成果物の生成
US11995444B2 (en) Systems and methods for modernizing legacy applications
US20210124752A1 (en) System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface
CN112801777A (zh) 一种银行函证自动处理方法、系统、电子设备及存储介质
CN112506505A (zh) 一种代码模板引擎进行程序代码生产的方法
CN109903180A (zh) 一种变电站二次安措信息化管理系统
CN111459504B (zh) 智能合约的处理方法、装置、设备和存储介质
KR102377607B1 (ko) 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼
CN114168121B (zh) 一种基于代码工厂模式开发软件系统、终端和存储介质
US11928627B2 (en) Workflow manager
CN109767176A (zh) 系统架构图处理方法、装置、计算机设备及存储介质
CN112256978B (zh) 一种基于数据模型的数据处理方法、装置、介质
US8484624B1 (en) Test integration tool
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置

Legal Events

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