KR101459299B1 - 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 - Google Patents

스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 Download PDF

Info

Publication number
KR101459299B1
KR101459299B1 KR1020120117559A KR20120117559A KR101459299B1 KR 101459299 B1 KR101459299 B1 KR 101459299B1 KR 1020120117559 A KR1020120117559 A KR 1020120117559A KR 20120117559 A KR20120117559 A KR 20120117559A KR 101459299 B1 KR101459299 B1 KR 101459299B1
Authority
KR
South Korea
Prior art keywords
configuration information
data source
screen configuration
smart device
layout
Prior art date
Application number
KR1020120117559A
Other languages
English (en)
Other versions
KR20140051015A (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 KR1020120117559A priority Critical patent/KR101459299B1/ko
Publication of KR20140051015A publication Critical patent/KR20140051015A/ko
Application granted granted Critical
Publication of KR101459299B1 publication Critical patent/KR101459299B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

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

Abstract

스마트 기기의 소프트웨어 개발 자동화 장치는 이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 통합 개발 환경부, 상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 어플리케이션 핸들링부 및 상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성하는 런타임 라이브러리부을 포함한다.

Description

스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체{APPARATUS OFAUTOMATING SOFTWARE DEVELOPMENT FOR SMART DEVICE, METHOD OF THE SAME AND STORAGE MEDIA STORING THE SAME}
본 발명은 스마트 기기 어플리케이션 중 웹 어플리케이션(Web Application)과 하이브리드 어플리케이션(Hybrid Application) 개발의 자동화 기술에 관한 것으로, 보다 상세하게는, 기획자 및 디자이너가 생성한 이미지, 마크업 언어(예를 들어, HTML), 스타일 시트(예를 들어, CSS) 및 스크립트(예를 들어, Java Script)를 임포팅(Importing)하여 화면 구성 정보를 생성하고, 사용자가 생성된 화면 구성 정보를 웹 사용자 인터페이스(Web User Interface)를 통해 비지니스로직을 수행하도록 할 수 있는 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체에 관한 것이다.
스마트 기기 (예를 들어, 스마트 폰, 태블릿 PC 또는 스마트 티비)에서 실행될 수 있는 어플리케이션을 개발하는 과정은 기획자 및 디자이너가 이미지, CSS, Java Script, HTML 등에 해당하는 산출물을 생산하는 제1 과정 및 어플리케이션 개발자가 해당 산출물을 기초로 비지니스로직(예를 들어, 데이터 소스의 연동 또는 디바이스 기능의 연동)을 구현하는 제2 과정으로 이분화되어 있다.
이러한 이분화된 어플리케이션 개발 과정으로 인해 기획자가 의도한 목적 그대로 어플리케이션이 생산되지 않거나, 어플리케이션 개발자의 능숙도에 따라 생산된 어플리케이션의 완성도 및 개발 속도가 결정되는 문제점이 있다.
일반적으로 컴퓨팅 분야의 개발 과정에서 사용되는 언어의 장벽을 극복하고자 사용되는 통합 개발 환경(Integrated Development Environment, IDE)은 코드 편집기, 컴파일러, 그래픽 사용자 인터페이스 등으로 구성되어, 전문적인 지식이 없는 사용자라도 컴퓨팅 분야에서의 다양한 과제물을 생산하도록 할 수 있다.
여기에서, 어플리케이션 개발 기술에 관한 다양한 선행 기술들이 제공되고 있다. 하기의 선행 기술들은 이와 관련된 기술들을 제공한다.
한국공개특허 제10-2009-0006727호는 GUI 어플리케이션 개발 지원 기술에 관한 것으로서, 보다 구체적으로, 조립 기기용의 유저 인터페이스 어플리케이션에서, GUI 부품 범용 구조 데이터 생성 수단과 GUI 화면 편집 수단과 GUI 프로그램 생성 수단을 포함하고, GUI 화면 편집 수단은, 유저에게 상기 GUI 부품 범용 구조 데이터 생성 수단이 생성한 상기 GUI 부품 범용 구조 데이터로 표현되는 GUI 부품을 이용하여 GUI 화면을 작성하는 수단을 제공하고, 유저가 작성한 GUI 화면을 프로그램 언어에 의존하지 않는 형식의 범용 GUI 화면 구조 데이터로서 생성한다. GUI 프로그램 생성 수단은, GUI 화면 편집 수단에 의해 생성된 범용 GUI 화면 구조 데이터와 타겟 기기에서 실행 가능한 프로그램을 이용하여, 타겟 기기에서 실행할 수 있는 형식의 GUI 어플리케이션을 생성한다. 이에 의해, 조립 기기용의 유저 인터페이스 어플리케이션을 종래보다도 쉽게 하는 개발 지원을 행하는 기술을 제공할 수 있다.
한국공개특허 제10-2011-0122573호는 어플리케이션 개발 방법에 관한 것으로서, 보다 구체적으로, OS(Operating System) 플랫폼에 구애 받지 않고, 한 번의 개발로 복수의 단말 환경에 최적화하여 서비스를 제공할 수 있도록 하는 어플리케이션 개발 플랫폼 장치에 관한 것이다. 이를 위해, 서비스 구성부를 통해 제공하고자 하는 서비스의 전체 구조를 구성한 후, UI 구성부를 통해 서비스 구성부에서 구성된 각 서비스 구조에 속해 있는 엔트리 페이지에 대한 화면을 구성하고, 구성된 서비스 페이지를 CSD 서버에 등록하여 사용자들이 이용할 수 있도록 이루어지며, 이에 따라, 한 번의 개발로 WIPI, Window Mobile, iPhone, Android, IPTV, 유무선 WEB 등 다양한 플랫폼에 적용 가능한 어플리케이션을 제공할 수 있게 된다.
상기의 선행 기술들은 어플리케이션의 개발에 관한 다양한 기술을 제공하고 있으나, 상기 언급한 문제점을 해결하는 방안을 제시하고 있지 않다. 즉, 어플리케이션 개발을 위한 언어의 장벽 및 개발 과정의 이원화로 인한 생산 품질 및 속도의 한계에 대한 해결책을 제시하고 있지 않다.
한국공개특허 제10-2009-0006727호 한국공개특허 제10-2011-0122573호
본 발명은 기획자 및 디자이너가 생성한 이미지, 마크업 언어(예를 들어, HTML), 스타일 시트(예를 들어, CSS) 및 스크립트(예를 들어, Java Script)를 임포팅(Importing)하여 화면 구성 정보를 생성하고, 사용자가 생성된 화면 구성 정보를 웹 사용자 인터페이스(Web User Interface)를 통해 비지니스로직을 수행하도록 할 수 있는 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체를 제공하고자 한다.
본 발명은 마크업 언어, 스타일 시트 및 스크립트에 해당하는 순수한 웹 기술을 보유한 웹 개발자들이 어플리케이션 개발을 위한 언어(예를 들어, JAVA SEVER PAGE, JSP)에 대한 장벽 없이 직접 어플리케이션을 개발하도록 할 수 있는 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체를 제공하고자 한다.
본 발명은 이미지, 마크업 언어, 스타일 시트 및 스크립트를 임포팅하여 생성된 화면 구성 정보를 화면으로 출력하고, 사용자가 화면 구성 정보에 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션을 맵핑(mapping)할 수 있는 GUI(Graphic User Interface)를 제공하여, 기획자가 직접 코딩하지 않고 비지니스로직을 구현하도록 할 수 있는 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체를 제공하고자 한다.
실시 예들 중에서, 스마트 기기의 소프트웨어 개발 자동화 장치는 이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 통합 개발 환경부, 상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 어플리케이션 핸들링부 및 상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성하는 런타임 라이브러리부을 포함한다.
일 실시 예에서, 상기 통합 개발 환경부는 가상의 스마트 기기의 어플리케이션 실행 레이아웃으로서 상기 생성된 화면 구성 정보를 디스플레이하는 비주얼 디스플레이 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 통합 개발 환경부는 상기 생성된 화면 구성 정보에서 추출된 데이터 소스를 선택하는 데이터 소스 선택 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 통합 개발 환경부는 상기 선택된 데이터 소스를 상기 어플리케이션 실행 레이아웃에 연관시키는 데이터 소스 연관 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 어플리케이션 핸들링부는 상기 가상의 스마트 기기에서 상기 생성된 화면 구성 정보, 상기 선택된 데이터 소스 및 이들의 연관 관계를 시뮬레이션 할 수 있다.
일 실시 예에서, 상기 통합 개발 환경부는 상기 생성된 화면 구성 정보에 사용자 이벤트에 따른 액션 코드를 정의하여 상기 스크립트 코드를 갱신하는 액션 정의 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 통합 개발 환경부는 상기 연관된 데이터 소스가 상기 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의하고, 상기 뷰 속성에 따라 데이터 소스를 배치하는 데이터 소스 배치 모듈을 더 포함할 수 있다.
일 실시 예에서, 상기 통합 개발 환경부는 상기 생성된 화면 구성 정보에 대한 스크립트 언어를 화면으로 출력하고, 해당 스크립트 언어가 정정되면 상기 정정된 스크립트 언어에 따라 상기 화면 구성 정보를 갱신하는 화면 구성 정보 갱신 모듈을 더 포함할 수 있다.
실시 예들 중에서, 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법은 이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계, 상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계 및 상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성하는 단계를 포함한다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 가상의 스마트 기기의 어플리케이션 실행 레이아웃으로서 상기 생성된 화면 구성 정보를 디스플레이하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 상기 생성된 화면 구성 정보에서 추출된 데이터 소스를 선택하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 상기 선택된 데이터 소스를 상기 어플리케이션 실행 레이아웃에 연관시키는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계는 상기 가상의 스마트 기기에서 상기 생성된 화면 구성 정보, 상기 선택된 데이터 소스 및 이들의 연관 관계를 시뮬레이션하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 상기 생성된 화면 구성 정보에 사용자 이벤트에 따른 액션 코드를 정의하여 상기 스크립트 코드를 갱신하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 상기 연관된 데이터 소스가 상기 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의하고, 상기 뷰 속성에 따라 데이터 소스를 배치하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는 상기 생성된 화면 구성 정보에 대한 스크립트 언어를 화면으로 출력하고, 해당 스크립트 언어가 정정되면 상기 정정된 스크립트 언어에 따라 상기 화면 구성 정보를 갱신하는 단계를 더 포함할 수 있다.
실시 예들 중에서, 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법에 관한 컴퓨터 프로그램을 기록한 기록매체는 이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보(JSP)를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계, 상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계 및 상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 제공하는 단계를 포함하는 스마트 기기의 소프트웨어 개발 자동화 방법에 관한 컴퓨터 프로그램을 기록한다.
본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 기술들은 기획자 및 디자이너가 생성한 이미지, 마크업 언어(예를 들어, HTML), 스타일 시트(예를 들어, CSS) 및 스크립트(예를 들어, Java Script)를 임포팅(Importing)하여 화면 구성 정보를 생성하고, 사용자가 생성된 화면 구성 정보를 웹 사용자 인터페이스(Web User Interface)를 통해 비지니스로직을 수행하도록 할 수 있다.
본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 기술들은 마크업 언어, 스타일 시트 및 스크립트에 해당하는 순수한 웹 기술을 보유한 웹 개발자들이 어플리케이션 개발을 위한 언어(예를 들어, Object-C, JAVA)에 대한 장벽 없이 직접 어플리케이션을 개발하도록 할 수 있다.
본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 기술들은 이미지, 마크업 언어, 스타일 시트 및 스크립트를 임포팅하여 생성된 화면 구성 정보를 화면으로 출력하고, 사용자가 화면 구성 정보에 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션을 맵핑(mapping)할 수 있는 GUI(Graphic User Interface)를 제공하여, 기획자가 직접 코딩하지 않고 비지니스로직을 구현하도록 할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치를 설명하는 블록도이다.
도 2는 도 1에 있는 통합 개발 환경부를 설명하는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법을 설명하는 흐름도이다.
도 4는 본 발명의 다른 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법을 설명하는 흐름도이다.
도 5 내지 도 10은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치의 출력 화면을 나타내는 예시이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시 예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치를 설명하는 블록도이다.
도 1을 참조하면, 스마트 기기의 소프트웨어 개발 자동화 장치(100)는 통합 개발 환경부(110), 어플리케이션 핸들링부(120), 런타임 라이브러리부(130) 및 제어부(140)를 포함한다.
스마트 기기의 소프트웨어 개발 자동화 장치(100)(이하, 소프트 웨어 개발 자동화 장치)는 상기 통합 개발 환경부(110), 어플리케이션 핸들링부(120), 런타임 라이브러리부(130) 및 제어부(140)를 포함하는 컴퓨팅 장치에 해당할 수 있다. 보다 구체적으로, 소프트웨어 개발 자동화 장치(100)는 특정 OS(Operating System)에 의해 동작하며 CPU, 하드디스크, 램, 입력 장치(예를 들어, 키보드 및 마우스) 및 출력 장치(예를 들어, 모니터)를 포함하여 본 발명에 따른 스마트 기기의 소프트웨어 개발 자동화 방법(이하, 소프트웨어 개발 자동화 방법)에 관한 소프트웨어를 기록한 기록매체를 실행할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 소프트웨어 개발 자동화 장치(100)는 데스크톱(Desktop), 노트북(Laptop), 스마트 폰(Smart phone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다.
일 실시예에서, 스마트 기기는 특정 OS(Operating Syste, 예: 안드로이드 또는 iOS)에 의해 동작하며, 해당 OS에서 동작할 수 있는 어플리케이션을 설치할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 스마트 기기는 모바일 단말(예: 스마트 폰, 태블릿 PC) 또는 스마트 TV(TeleVision)에 해당할 수 있다. 이하, 본 발명에 따른 소프트웨어 개발 자동화 장치(100)를 설명하기 위하여 소프트웨어 개발 자동화 방법에 따른 소프트웨어 개발 자동화 장치(100)의 출력 화면에 해당하는 도 5 내지 도 10을 참조하여 설명한다. 한편, 도 5 내지 도 10은 스마트 기기가 스마트 폰에 해당하는 것을 예시로 하여 작성된 도면이다. 본 발명의 기술분야에 속하는 통상의 지식을 가진 기술자라면, 도 5 내지 도 10에 해당하는 예시 도면을 통해 본 발명의 기술적 사상을 이해하고 용이하게 실시할 수 있을 것이다. 즉, 당업자는 이하 스마트 폰에 해당하는 예시를 통하여 태블릿 PC 또는 스마트 TV에서 설치될 수 있는 소프트웨어 개발 자동화 장치 및 방법을 용이하게 구현할 수 있을 것이다.통합 개발 환경부(110)는 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나를 별개의 파일로 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시킨다.
보다 구체적으로, 통합 개발 환경부(110)는 사용자에 의해 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나를 별개의 파일로 임포팅(importing)한다.
여기에서, 이미지는 스마트 기기의 소프트웨어(이하, 어플리케이션)의 화면을 구성하는 이미지에 해당하고, 예를 들어, jpg 파일에 해당할 수 있다. 마크업 언어는 웹 문서의 구조를 서술하는데 사용되는 언어로 작성된 파일에 해당하고, 예를 들어, HTML(Hyper Text Markup Language)로 작성된 파일에 해당할 수 있다. 스타일 시트는 웹 문서의 스타일을 미리 저장한 파일에 해당하고, 예를 들어, CSS(Cascading Style Sheets) 파일에 해당할 수 있다. 스크립트는 웹 문서에서 인터랙티브(interactive)한 액션을 기술하는 스크립트 언어로 작성된 파일에 해당하고, 예를 들어, 자바 스크립트(JAVA Script)로 작성된 파일에 해당할 수 있다.
통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성한다. 여기에서, 화면 구성 정보는 스마트 기기에서 해당 어플리케이션이 실행될 때 디스플레이되는 화면을 구성하는 파일에 해당하고, 예를 들어, 적어도 하나의 JSP(JAVA Sever Page) 파일에 해당할 수 있다.
즉, 통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 기 설정된 언어로서 미리 정의된 코드에 따라 JSP 파일을 생성할 수 있다.
통합 개발 환경부(110)는 생성된 화면 구성 정보를 단일 화면의 레이아웃으로서 GUI를 생성하여 화면으로 출력할 수 있다. 예를 들어, 통합 개발 환경부(110)는 JAVA Script Framework를 통해 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 기초로 생성된 메타데이터를 활용하여 단일 화면의 레이아웃으로서 GUI를 생성할 수 있다.
예를 들어, 도 5에서, 통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일을 기초로 JSP 파일을 생성하고, 생성된 JSP 파일에 포함된 이미지를 가상의 스마트 기기 레이아웃(510) 내부에 출력할 수 있다. 여기에서, 통합 개발 환경부(110)는 화면의 특정 영역에 생성된 복수의 JSP에 대한 JSP 목록(520)을 출력할 수 있다. 또한, 통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일에 해당하는 런타임(Runtime) 속성 정보를 런타임 속성 정보창(580)을 통해 출력할 수 있고, 특정 구성 요소에 대한 속성 정보 및 이벤트 정보를 구성요소 속성 정보 창(590)을 통해 출력할 수 있다.
즉, 사용자는 이미지, 마크업 언어, 스타일 시트 및 스크립트를 입력하면, 자동으로 생성된 복수의 JSP 파일을 JSP 생성 목록(520)을 통해 확인할 수 있다. 여기에서, 사용자는 생성된 복수의 JSP 파일 중 [idlogin.jsp]에 해당하는 JSP 파일을 JSP 생성 목록(520)에서 선택하여 가상의 스마트 기기 레이아웃(510)을 통해 해당 페이지가 스마트 기기에서 실행될 때의 화면을 확인할 수 있다.
여기에서, 통합 개발 환경부(110)에 의해 생성된 화면 구성 정보는 화면의 레이아웃(layout)에 대한 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션이 정의되지 않은 상태이다.
통합 개발 환경부(110)는 생성된 화면 구성 정보에 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 연관시킨다.
보다 구체적으로, 통합 개발 환경부(110)는 화면 구성 정보 사용자에 의해 입력된 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 입력되면, 화면 구성 정보 중 정의되지 않은 특정 레이아웃에 대한 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 연관시켜 저장할 수 있다.
예를 들어, 도 5에서, 사용자에 의해 서비스 창(530)이 선택되는 경우, 통합 개발 환경부(110)는 서비스 창(530)을 확장하여 사용자에 의해 입력된 데이터 소스를 출력할 수 있다. 여기에서, 통합 개발 환경부(110)는 [login]에 해당하는 특정 영역(531)이 사용자에 의해 가상의 스마트 기기 레이아웃(510) 중 [아이디]에 해당하는 특정 영역(511)에 드래그 앤 드롭(Drag and Drop)되면 [login]에 해당하는 특정 영역(531)과 연관된 데이터 소스를 [아이디]에 해당하는 레이아웃에 매핑할 수 있다.
즉, 사용자는 화면에 제공되는 GUI를 통해 사용 가능한 데이터 소스의 목록을 확인할 수 있고, 특정 데이터 소스에 해당하는 영역을 드래그 앤 드롭의 방식을 통해 가상의 스마트 기기 화면에 매핑할 수 있다.
상기 설명한 통합 개발 환경부(110)의 동작을 통해 사용자는 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일들을 임포팅하면, 각 파일에 해당하는 JSP 파일을 이미지로서 확인할 수 있고, 사용될 데이터 소스, 이벤트, 이벤트 처리를 위한 액션을 GUI를 통해 맵핑할 수 있다.
어플리케이션 핸들링부(120)는 화면 구성 정보와 연관된 데이터 소스, 이벤트, 이벤트 처리를 위한 액션 중 적어도 하나를 기초로 화면 구성 정보를 시뮬레이션한다. 예를 들어, 어플리케이션 핸들링부(120)는 화면 구성 정보에 포함된 특정 레이아웃에 데이터 소스 및 이벤트가 매핑된 경우, 해당 JSP 파일을 화면으로 출력하여 사용자에 의해 해당 이벤트가 발생하는 경우 매핑된 데이터 소스가 출력되는지를 화면에 제공할 수 있다.
다른 예를 들어, 도 10에서, 어플리케이션 핸들링부(120)는 시뮬레이터 창(1010)을 통해 화면 구성 정보를 출력하고, 화면 구성 정보에 매핑된 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션을 시뮬레이션할 수 있다. 여기에서, 어플리케이션 핸들링부(120)는 스마트 기기에서 해당 어플리케이션이 실행되는 것과 동일한 환경을 제공하여 화면 구성 정보를 시뮬레이션할 수 있다. 즉, 사용자는 시뮬레이터 창(1010)을 통해 가상의 스마트 기기에서 해당 어플리케이션을 실행하여, 생성된 어플리케이션을 동작시킬 수 있다.
일 실시 예에서, 어플리케이션 핸들링부(120)는 데이터 핸들링 모듈, 이벤트 핸들링 모듈, 메타데이터 분석 모듈 및 사용자 인터페이스 핸들링 모듈 중 적어도 하나를 포함할 수 있다.
데이터 핸들링 모듈은 화면 구성 정보에 매핑된 데이터 소스를 처리하고, 이벤트 핸들링 모듈은 화면 구성 정보에 매핑된 이벤트를 처리할 수 있다. 메타데이터 분석 모듈은 통합 개발 환경부(110)에 의해 임포팅된이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일과 연관된 메타데이터를 처리할 수 있는 JAVA SCRIPT FRAMEWORK에 포함된다. 사용자 인터페이스 핸들링 모듈은 가상의 스마트 기기 레이아웃(510)을 통해 출력되는 화면을 제어할 수 있다.
런타임 라이브러리부(130)는 어플리케이션 핸들링부(120)에 의한 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성한다. 예를 들어, 공통 런타임 라이브러리는 스마트기기의 특정 기능 (예: 전화걸기)을 수행하는 DLL(Dynamic Linking Library) 파일에 해당할 수 있다.
즉, 런타임 라이브러리부(130)는 통합 개발 환경부(110)에 의해 생성된 화면 구성 정보에 대한 처리정보를 생성하여 어플리케이션에 포함시킴으로써, 스마트 기기에 해당 어플리케이션이 설치되면 스마트 기기에 캐싱(Caching)되도록 하여 어플리케이션의 성능을 최적화시킬 수 있다.
제어부(140)는 통합 개발 환경부(110), 어플리케이션 핸들링부(120) 및 런타임 라이브러리부(130)의 동작 및 데이터의 흐름을 제어한다.
도 2는 도 1에 있는 통합 개발 환경부를 설명하는 블록도이다.
도 2를 참조하면, 통합 개발 환경부(110)는 비주얼 디스플레이 모듈(111), 데이터 소스 선택 모듈(112), 데이터 소스 연관 모듈(113), 액션 정의 모듈(114), 데이터 소스 배치 모듈(115) 및 화면 구성 정보 갱신 모듈(116)을 포함할 수 있다.
비주얼 디스플레이 모듈(111)은 화면 구성 정보를 가상의 스마트 기기의 어플리케이션 실행 레이아웃(510)으로서 디스플레이할 수 있다.
보다 구체적으로, 비주얼 디스플레이 모듈(111)는 화면 구성 정보에 포함된 이미지, 마크업 언어, 스타일 시트 및 스크립트를 기초로 가상의 스마트 기기 레이아웃(510)을 생성할 수 있다. 여기에서, 비주얼 디스플레이 모듈(111)는 JAVA Script Framework를 통해 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일을 기초로 생성된 메타데이터를 활용하여 단일 화면의 레이아웃으로서 GUI를 생성할 수 있다.
일 실시 예에서, 비주얼 디스플레이 모듈(111)는 사용자에 의해 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일을 기초로 생성된 JSP 파일을 JSP 목록(520)에 출력할 수 있다. 다른 일 실시 예에서, 비주얼 디스플레이 모듈(111)는 화면 구성 정보에 해당하는 런타임(Runtime) 속성 정보를 런타임 속성 정보창(580)을 통해 출력할 수 있다. 또 다른 일 실시 예에서, 비주얼 디스플레이 모듈(111)는 화면 구성 정보의 특정 구성 요소에 대한 속성 정보 및 이벤트 정보를 구성요소 속성 정보 창(590)을 통해 출력할 수 있다.
데이터 소스 선택 모듈(112)은 화면 구성 정보에서 추출된 데이터 소스를 선택한다. 일 실시 예에서, 화면 구성 정보는 미리 입력된 데이터 소스를 포함할 수 있다. 여기에서, 데이터 소스 선택 모듈(112)는 화면 구성 정보에서 데이터 소스를 추출하여 서비스 창(530)을 통해 추출된 데이터 소스를 화면으로 출력할 수 있다.
데이터 소스 선택 모듈(112)은 사용자로부터 선택된 데이터 소스를 화면 구성 정보의 특정 레이아웃에 매핑 될 데이터 소스로서 선택할 수 있다. 예를 들어, 데이터 소스 선택 모듈(112)는 사용자에 의해 서비스 창(530)의 [login]에 해당하는 특정 영역(531)이 클릭되면, [login]에 해당하는 특정 레이아웃에 대한 데이터 소스로서 선택할 수 있다.
데이터 소스 연관 모듈(113)는 데이터 소스 선택 모듈(112)에 의해 선택된 데이터 소스를 어플리케이션 실행 레이아웃에 연관시킬 수 있다. 여기에서, 어플리케이션 실행 레이아웃은 가상의 스마트 기기 레이아웃(510)에 해당할 수 있다.
예를 들어, 사용자에 의해 [login]에 해당하는 특정 영역(531)이 클릭되고 가상의 스마트 기기 레이아웃(510) 중 [아이디]에 해당하는 특정 영역(511)에 드래그 앤 드롭(Drag and Drop)되면, 데이터 소스 연관 모듈(113)은 [login]에 해당하는 특정 영역(531)과 연관된 데이터 소스를 [아이디]에 해당하는 레이아웃에 매핑할 수 있다.
액션 정의 모듈(114)은 화면 구성 정보에 사용자 이벤트에 따른 액션 코드를 정의하여 스크립트 코드를 갱신할 수 있다. 보다 구체적으로, 액션 정의 모듈(114)은 화면 구성 정보에 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션이 매핑된 경우, 매핑된 각 요소에 대한 코드 편집 창을 화면에 출력할 수 있다. 여기에서, 사용자에 의해 특정 이벤트에 대한 코드가 정정되면, 액션 정의 모듈(114)은 수정된 코드를 액션 코드로 정의하여 해당 스크립트 코드를 갱신할 수 있다.
예를 들어, 도 7에서, 액션 정의 모듈(114)는 데이터 소스가 정상적으로 수신되는지 여부를 데이터 소스 동작 창(710)을 통해 출력할 수 있고, 사용자에 의해 동작 여부에 따른 핸들러(handler) 함수를 지정할 수 있도록 입력 창을 제공할 수 있다. 여기에서, 사용자에 의해 함수가 지정되면, 액션 정의 모듈(114)은 코드 편집 창(720)을 출력하여 해당 함수를 포함시켜 스크립트 코드를 갱신할 수 있다.
데이터 소스 배치 모듈(115)은 화면 구성 정보에 매핑된 데이터 소스가 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의하고, 정의된 뷰 속성에 따라 데이터 소스를 배치할 수 있다. 일 실시 예에서, 뷰 속성은 리스트 뷰(List View)에 해당할 수 있다.
예를 들어, 도 8에서, 데이터 소스 배치 모듈(115)은 특정 JSP에 해당하는 가상의 스마트 기기 레이아웃(510)을 출력하고, 사용자가 구성요소 속성 정보 창(590)을 선택하면, 해당 데이터 소스에 대한 리스트 뷰를 선택할 수 있는 리스트 뷰 선택 창(810)을 출력할 수 있다. 여기에서, 사용자가 [list]를 선택하면, 데이터 소스 배치 모듈(115)는 해당 데이터 소스에 대한 리스트 뷰를 설정할 수 있는 리스트 뷰 설정 창(820)을 출력할 수 있다.
리스트 뷰 설정 창(820)은 리스트 뷰 유형 창(821) 및 리스트 뷰 편집 창(822)을 포함할 수 있다. 사용자는 리스트 뷰 유형 창(821)을 통해 기 설정된 적어도 하나의 리스트 뷰 유형을 선택할 수 있고, 리스트 뷰 편집 창(822)을 통해 기 설정된 리스트 뷰에 대한 코드를 편집할 수 있다.
여기에서, 사용자에 의해 화면 구성 요소에 매핑된 데이터 소스에 대한 리스트 뷰가 설정되면, 데이터 소스 배치 모듈(115)는 해당 리스트 뷰에 따라 데이터 소스를 배치할 수 있다.
화면 구성 정보 갱신 모듈(116)은 화면 구성 정보에 대한 스크립트 언어를 화면으로 출력하고, 해당 스크립트 언어가 정정되면 정정된 스크립트 언어에 따라 화면 구성 정보를 갱신할 수 있다. 예를 들어, 사용자가 리스트 뷰 편집 창(822)을 통해 기 설정된 리스트 뷰에 대한 코드를 편집하는 경우, 화면 구성 정보 갱신 모듈(116)은 정정된 리스트 뷰에 해당하는 유형으로 데이터 소스를 옮겨 가상의 스마트 기기 레이아웃(510)을 갱신할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법을 설명하는 흐름도이다.
통합 개발 환경부(110)는 사용자에 의해 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나를 별개의 파일로 임포팅(importing)한다(단계 S310).
통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성한다(단계 S320). 여기에서, 화면 구성 정보는 스마트 기기에서 해당 어플리케이션이 실행될 때 디스플레이되는 화면을 구성하는 파일에 해당하고, 예를 들어, 적어도 하나의 JSP(JAVA Sever Page) 파일에 해당할 수 있다.
즉, 통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 기 설정된 언어로서 미리 정의된 코드에 따라 JSP 파일을 생성할 수 있다.
통합 개발 환경부(110)는 생성된 화면 구성 정보를 단일 화면의 레이아웃으로서 GUI를 생성하여 화면으로 출력할 수 있다. 예를 들어, 통합 개발 환경부(110)는 JAVA Script Framework를 통해 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 기초로 생성된 메타데이터를 활용하여 단일 화면의 레이아웃으로서 GUI를 생성할 수 있다.
통합 개발 환경부(110)는 생성된 화면 구성 정보에 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 연관시킨다(단계 S330).
보다 구체적으로, 통합 개발 환경부(110)는 화면 구성 정보 사용자에 의해 입력된 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 입력되면, 화면 구성 정보 중 정의되지 않은 특정 레이아웃에 대한 데이터 소스, 이벤트 및 이벤트 처리를 위한 액션 중 적어도 하나를 연관시켜 저장할 수 있다.
여기에서, 사용자는 화면에 제공되는 GUI를 통해 사용 가능한 데이터 소스의 목록을 확인할 수 있고, 특정 데이터 소스에 해당하는 영역을 드래그 앤 드롭의 방식을 통해 가상의 스마트 기기 화면에 매핑할 수 있다.
어플리케이션 핸들링부(120)는 화면 구성 정보와 연관된 데이터 소스, 이벤트, 이벤트 처리를 위한 액션 중 적어도 하나를 기초로 화면 구성 정보를 시뮬레이션한다(단계 S340). 예를 들어, 어플리케이션 핸들링부(120)는 화면 구성 정보에 포함된 특정 레이아웃에 데이터 소스 및 이벤트가 매핑된 경우, 해당 JSP 파일을 화면으로 출력하여 사용자에 의해 해당 이벤트가 발생하는 경우 매핑된데이터 소스가 출력되는지를 화면에 제공할 수 있다.
일 실시 예에서, 어플리케이션 핸들링부(120)는 데이터 핸들링 모듈, 이벤트 핸들링 모듈, 메타데이터 분석 모듈 및 사용자 인터페이스 핸들링 모듈 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리부(130)는 어플리케이션 핸들링부(120)에 의한 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성한다(단계 S350). 예를 들어, 공통 런타임 라이브러리는 스마트기기의 특정 기능(예: 전화걸기)를 수행하는 DLL(Dynamic Linking Library) 파일에 해당할 수 있다.
도 4는 본 발명의 다른 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법을 설명하는 흐름도이다.
통합 개발 환경부(110)는 사용자에 의해 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나를 별개의 파일로 임포팅(importing)한다(단계 S410).
통합 개발 환경부(110)는 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트 중 적어도 하나에 해당하는 파일을 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성한다(단계 S320). 여기에서, 화면 구성 정보는 스마트 기기에서 해당 어플리케이션이 실행될 때 디스플레이되는 화면을 구성하는 파일에 해당하고, 예를 들어, 적어도 하나의 JSP(JAVA Sever Page) 파일에 해당할 수 있다.
비주얼 디스플레이 모듈(111)은 화면 구성 정보를 가상의 스마트 기기의 어플리케이션 실행 레이아웃(510)으로서 디스플레이할 수 있다(단계 S420).
보다 구체적으로, 비주얼 디스플레이 모듈(111)는 화면 구성 정보에 포함된 이미지, 마크업 언어, 스타일 시트 및 스크립트를 기초로 가상의 스마트 기기 레이아웃(510)을 생성할 수 있다.
일 실시 예에서, 비주얼 디스플레이 모듈(111)는 사용자에 의해 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일을 기초로 생성된 JSP 파일을 JSP 목록(520)에 출력할 수 있다. 다른 일 실시 예에서, 비주얼 디스플레이 모듈(111)는 화면 구성 정보에 해당하는 런타임(Runtime) 속성 정보를 런타임 속성 정보창(580)을 통해 출력할 수 있다. 또 다른 일 실시 예에서, 비주얼 디스플레이 모듈(111)는 화면 구성 정보의 특정 구성 요소에 대한 속성 정보 및 이벤트 정보를 구성요소 속성 정보 창(590)을 통해 출력할 수 있다.
데이터 소스 선택 모듈(112)은 화면 구성 정보에서 추출된 데이터 소스를 선택할 수 있다(단계 S430). 일 실시 예에서, 화면 구성 정보는 미리 입력된 데이터 소스를 포함할 수 있다. 여기에서, 데이터 소스 선택 모듈(112)는 화면 구성 정보에서 데이터 소스를 추출하여 서비스 창(530)을 통해 추출된 데이터 소스를 화면으로 출력할 수 있다.
데이터 소스 선택 모듈(112)은 사용자로부터 선택된 데이터 소스를 화면 구성 정보의 특정 레이아웃에 매핑될 데이터 소스로서 선택할 수 있다. 예를 들어, 데이터 소스 선택 모듈(112)는 사용자에 의해 서비스 창(530)의 [login]에 해당하는 특정 영역(531)이 클릭되면, [login]에 해당하는 특정 레이아웃에 대한 데이터 소스로서 선택할 수 있다.
데이터 소스 배치 모듈(115)은 화면 구성 정보에 매핑된 데이터 소스가 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의할 수 있다(단계 S440). 여기에서, 데이터 소스 배치 모듈(115)는 정의된 뷰 속성에 따라 데이터 소스를 배치할 수 있다. 일 실시 예에서, 뷰 속성은 리스트 뷰(List View)에 해당할 수 있다.
예를 들어, 도 8에서, 데이터 소스 배치 모듈(115)은 특정 JSP에 해당하는 가상의 스마트 기기 레이아웃(510)을 출력하고, 사용자가 구성요소 속성 정보 창(590)을 선택하면, 해당 데이터 소스에 대한 리스트 뷰를 선택할 수 있는 리스트 뷰 선택 창(810)을 출력할 수 있다. 여기에서, 사용자가 [list]를 선택하면, 데이터 소스 배치 모듈(115)는 해당 데이터 소스에 대한 리스트 뷰를 설정할 수 있는 리스트 뷰 설정 창(820)을 출력할 수 있다.
데이터 소스 연관 모듈(113)는 데이터 소스 선택 모듈(112)에 의해 선택된 데이터 소스를 어플리케이션 실행 레이아웃에 연관시킬 수 있다(단계 S450). 여기에서, 어플리케이션 실행 레이아웃은 가상의 스마트 기기 레이아웃(510)에 해당할 수 있다.
예를 들어, 사용자에 의해 [login]에 해당하는 특정 영역(531)이 클릭되고 가상의 스마트 기기 레이아웃(510) 중 [아이디]에 해당하는 특정 영역(511)에 드래그 앤 드롭(Drag and Drop)되면, 데이터 소스 연관 모듈(113)은 [login]에 해당하는 특정 영역(531)과 연관된 데이터 소스를 [아이디]에 해당하는 레이아웃에 매핑할 수 있다.
어플리케이션 핸들링부(120)는 화면 구성 정보와 연관된 데이터 소스, 이벤트, 이벤트 처리를 위한 액션 중 적어도 하나를 기초로 화면 구성 정보를 시뮬레이션한다(단계 S460).
런타임 라이브러리부(130)는 어플리케이션 핸들링부(120)에 의한 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성한다. 예를 들어, 공통 런타임 라이브러리는 스마트기기의 특정 기능(예: 전화걸기)을 수행하는 DLL(Dynamic Linking Library) 파일에 해당할 수 있다.
통합 개발 환경부(110)는 화면 구성 정보에 해당하는 어플리케이션과 연관된 바이너리 파일을 생성할 수 있다(단계 S470). 예를 들어, 통합 개발 환경부(110)는 생성된 JSP 파일을 포함하고, 스마트 기기에서 동작할 수 있는 바이너리 파일을 생성할 수 있다.
도 5 내지 도 10은 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 장치의 출력 화면을 나타내는 예시이다. 상기 도 1 내지 도 4에서, 본 발명에 따른 스마트 기기의 소프트웨어 개발 자동화 장치 및 방법을 도 5 내지 도 10을 통하여 예시적으로 설명하였다. 이하, 도 5 내지 도 10은 사용자 관점에서 본 발명의 일 실시 예에 따른 스마트 기기의 소프트웨어 개발 자동화 방법을 수행하는 화면을 예시적으로 설명한다. 본 발명의 기술 분야에 속하는 통상의 기술자라면 이하 설명되는 예시를 통하여 본 발명의 기술적 사상을 이해하고 용이하게 구현할 수 있을 것이다.
도 5에서, 사용자는 스마트 기기의 소프트웨어 개발 자동화 장치(100)에서 스마트 기기의 소프트웨어 개발 자동화 방법에 관한 프로그램을 기록한 기록매체를 실행할 수 있다.
사용자가 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 파일을 임포팅하면, 가상의 스마트 기기 레이아웃(510)을 통해 통합 개발 환경부(110)에 의해 생성된 JSP 파일에 해당하는 이미지를 확인할 수 있다.
여기에서, 사용자는 JSP 목록(520)을 통해 통합 개발 환경부(110)에 의해 생성된 복수의 JSP 파일을 확인할 수 있다.
사용자는 서비스 창(530)을 통해 생성된 JSP 파일에 대한 API 서비스, 디바이스 서비스 및 프레젠테이션 서비스와 연관되고 각 화면의 레이아웃에 매핑할 수 있는 데이터 소스를 확인할 수 있다.
속성 창(540)은 해당 JSP 파일에 대한 기 설정된 속성 값을 제공하는 창에 해당한다. 변수 설정 창(550)은 사용자가 특정 화면에 대한 변수 선언을 하도록 할 수 있는 팝업 창에 해당하고, 페이지 설정 창(560)은 사용자가 화면의 메뉴 및 초기 페이지를 설정하도록 할 수 있는 팝업 창에 해당한다. 데이터 소스 확인 창(570)은 사용자가 특정 레이아웃에 매핑된 데이터 소스를 확인할 수 있는 팝업 창에 해당한다. 런타임 속성 정보 창(580)은 임포팅된 이미지, 마크업 언어, 스타일 시트 및 스크립트에 해당하는 런타임(Runtime) 속성 정보를 제공하는 창에 해당한다. 구성요소 속성 정보 창(590)은 JSP 파일에 포함된 구성 요소에 대한 속성 정보 및 이벤트 정보를 제공하는 창에 해당한다.
도 6에서, 사용자가 [아이디]에 해당하는 레이아웃에 [로그인]에 해당하는 데이터 소스를 매핑하고자 하는 경우, 사용자는 [login]에 해당하는 특정 영역(531)을 클릭하고, 가상의 스마트 기기 레이아웃(510) 중 [아이디]에 해당하는 특정 영역(511)에 드래그 앤 드롭(Drag and Drop)하여, 해당 데이터 소스를 해당 레이아웃에 매핑할 수 있다.
여기에서, 사용자는 데이터 소스 생성 창(610)을 통해 데이터 소스에 대한 이름 및 설명을 입력하여 매핑된 데이터 소스를 해당 레이아웃에 대한 데이터 소스로서 생성할 수 있다.
도 7에서, 사용자는 데이터 소스 동작 창(710)을 통해 데이터 소스가 정상적으로 작동하는지 여부를 조회할 수 있고, 조회 결과의 이벤트에 따른 핸들러 함수를 지정할 수 있다. 여기에서, 사용자가 핸들러 함수를 지정하면, 코드 편집 창(720)을 통해 갱신된 스크립트 코드를 확인할 수 있다.
도 8에서, 사용자가 JSP 목록(520)에서 계좌 조회 화면에 해당하는 JSP 파일을 선택하면 가상의 스마트 기기 레이아웃(510)을 통해 해당 화면을 확인할 수 있다. 여기에서, 사용자가 해당 화면의 레이아웃에 데이터 소스를 매핑하는 과정을 수행한 후, 구성요소 속성 정보 창(590)을 클릭하여 리스트 뷰 선택 창(810)을 팝업시킬 수 있다. 사용자는 리스트 뷰 유형 창(821)을 통해 기 설정된 적어도 하나의 리스트 뷰 유형을 선택할 수 있고, 리스트 뷰 편집 창(822)을 통해 기 설정된 리스트 뷰에 대한 코드를 편집할 수 있다.
도 9에서, 사용자는 리스트 뷰 유형을 선택한 후 데이터 매핑 창(910)을 통해 리스트 뷰에 포함된 각 항목에 대한 데이터 소스를 매핑할 수 있다. 사용자는 데이터 매핑 창(910)의 데이터 소스 리스트 영역 중 특정 영역(예를 들어, ACT_NAME, 911)을 클릭하고, 리스트 뷰 영역 중 특정 영역(예를 들어, data1, 912)에 드래그 앤 드롭하여, [ACT_NAME]에 해당하는 데이터 소스를 [data1]에 해당하는 항목에 매핑할 수 있다.
도 10에서, 사용자는 시뮬레이터 창(1010)을 통해 화면 구성 정보 및 매핑된 데이터 소스, 이벤트 및 액션에 대한 시뮬레이션을 수행할 수 있다. 여기에서, 사용자는 해상도 조절 창(1011)을 통해 스마트 기기에 대한 해상도를 조절할 수 있고, 가상의 스마트 기기 화면(1012)을 통해 스마트 기기와 동일한 환경에서 해당 어플리케이션을 동작시킬 수 있다.
상기에서는 본 출원의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 통합 개발 환경부 120: 어플리케이션 핸들링부
130: 런타임 라이브러리부 140: 제어부
111: 비주얼 디스플레이 모듈 112: 데이터 소스 선택 모듈
113: 데이터 소스 연관 모듈 114: 액션 정의 모듈
115: 데이터 소스 배치 모듈 116: 화면 구성 정보 갱신 모듈
510: 가상의 스마트 기기 레이아웃
520: JSP 목록 530: 서비스 창
540: 속성 창 550: 변수 설정 창
560: 페이지 설정 창 570: 데이터 소스 확인 창
580: 런타임 속성 정보창 590: 속성 정보 창
610: 데이터 소스 생성 창 710: 데이터 소스 동작 창
720: 코드 편집 창 810: 리스트 뷰 선택 창
820: 리스트 뷰 설정 창 910: 데이터 매핑 창
1010: 시뮬레이터 창

Claims (17)

  1. 이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 통합 개발 환경부;
    상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 어플리케이션 핸들링부; 및
    상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성하는 런타임 라이브러리부을 포함하고,
    상기 통합 개발 환경부는
    가상의 스마트 기기의 어플리케이션 실행 레이아웃으로서 상기 생성된 화면 구성 정보를 디스플레이하는 비주얼 디스플레이 모듈;
    상기 생성된 화면 구성 정보에서 추출된 데이터 소스를 선택하는 데이터 소스 선택 모듈; 및
    상기 선택된 데이터 소스를 상기 어플리케이션 실행 레이아웃에 연관시키는 데이터 소스 연관 모듈을 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 어플리케이션 핸들링부는
    상기 가상의 스마트 기기에서 상기 생성된 화면 구성 정보, 상기 선택된 데이터 소스 및 이들의 연관 관계를 시뮬레이션하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 장치.
  6. 제1항에 있어서, 상기 통합 개발 환경부는
    상기 생성된 화면 구성 정보에 사용자 이벤트에 따른 액션 코드를 정의하여 상기 스크립트 코드를 갱신하는 액션 정의 모듈을 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 장치.
  7. 제1항에 있어서, 상기 통합 개발 환경부는
    상기 연관된 데이터 소스가 상기 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의하고, 상기 뷰 속성에 따라 데이터 소스를 배치하는 데이터 소스 배치 모듈을 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 장치.
  8. 제1항에 있어서, 상기 통합 개발 환경부는
    상기 생성된 화면 구성 정보에 대한 스크립트 언어를 화면으로 출력하고, 해당 스크립트 언어가 정정되면 상기 정정된 스크립트 언어에 따라 상기 화면 구성 정보를 갱신하는 화면 구성 정보 갱신 모듈을 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 장치.
  9. 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법에 있어서,
    이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계;
    상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계; 및
    상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 생성하는 단계를 포함하고,
    상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는
    가상의 스마트 기기의 어플리케이션 실행 레이아웃으로서 상기 생성된 화면 구성 정보를 디스플레이하는 단계;
    상기 생성된 화면 구성 정보에서 추출된 데이터 소스를 선택하는 단계; 및
    상기 선택된 데이터 소스를 상기 어플리케이션 실행 레이아웃에 연관시키는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제9항에 있어서, 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계는
    상기 가상의 스마트 기기에서 상기 생성된 화면 구성 정보, 상기 선택된 데이터 소스 및 이들의 연관 관계를 시뮬레이션하는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법.
  14. 제9항에 있어서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는
    상기 생성된 화면 구성 정보에 사용자 이벤트에 따른 액션 코드를 정의하여 상기 스크립트 코드를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법.
  15. 제9항에 있어서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는
    상기 연관된 데이터 소스가 상기 단일 화면의 레이아웃에서 위치하는 뷰(view) 속성을 정의하고, 상기 뷰 속성에 따라 데이터 소스를 배치하는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법.
  16. 제9항에 있어서, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는
    상기 생성된 화면 구성 정보에 대한 스크립트 언어를 화면으로 출력하고, 해당 스크립트 언어가 정정되면 상기 정정된 스크립트 언어에 따라 상기 화면 구성 정보를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법.
  17. 스마트 기기의 소프트웨어 개발 자동화 장치에서 수행되는 스마트 기기의 소프트웨어 개발 자동화 방법에 관한 컴퓨터 프로그램을 기록한 기록매체에 있어서,
    이미지, 마크업 언어, 스타일 시트 및 스크립트를 별개의 파일로서 불러와서 단일 화면의 레이아웃을 나타내는 화면 구성 정보(JSP)를 생성하고, 상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계;
    상기 연관된 데이터 소스를 기초로 상기 생성된 화면 구성 정보를 시뮬레이션하는 단계; 및
    상기 시뮬레이션에 따른 기초적 함수(primitive function)를 제공하는 공통 런타임 라이브러리를 제공하는 단계를 포함하고,
    상기 생성된 화면 구성 정보에 데이터 소스를 연관시키는 단계는
    가상의 스마트 기기의 어플리케이션 실행 레이아웃으로서 상기 생성된 화면 구성 정보를 디스플레이하는 단계;
    상기 생성된 화면 구성 정보에서 추출된 데이터 소스를 선택하는 단계; 및
    상기 선택된 데이터 소스를 상기 어플리케이션 실행 레이아웃에 연관시키는 단계를 더 포함하는 것을 특징으로 하는 스마트 기기의 소프트웨어 개발 자동화 방법에 관한 컴퓨터 프로그램을 기록한 기록매체.
KR1020120117559A 2012-10-22 2012-10-22 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 KR101459299B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120117559A KR101459299B1 (ko) 2012-10-22 2012-10-22 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120117559A KR101459299B1 (ko) 2012-10-22 2012-10-22 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20140051015A KR20140051015A (ko) 2014-04-30
KR101459299B1 true KR101459299B1 (ko) 2014-11-07

Family

ID=50655914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120117559A KR101459299B1 (ko) 2012-10-22 2012-10-22 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR101459299B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163818B1 (ko) 2020-06-18 2020-10-12 주식회사 테크스페이스 자동 완성형 백엔드 플랫폼 구축 장치
KR102255140B1 (ko) 2020-11-11 2021-05-24 주식회사 테크스페이스 블록체인을 통한 백엔드 플랫폼의 해킹 방지 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102306536B1 (ko) * 2015-04-01 2021-09-29 삼성전자주식회사 위젯 제공 시스템 및 방법
KR101892699B1 (ko) * 2016-09-05 2018-08-28 바이플러그 주식회사 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법
KR102095863B1 (ko) * 2018-10-31 2020-04-02 (주)아이엠티 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법
CN112632938A (zh) * 2020-12-30 2021-04-09 杭州天阙科技有限公司 一种表单生成方法、装置和控制器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110037140A (ko) * 2009-10-06 2011-04-13 선문대학교 산학협력단 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110037140A (ko) * 2009-10-06 2011-04-13 선문대학교 산학협력단 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163818B1 (ko) 2020-06-18 2020-10-12 주식회사 테크스페이스 자동 완성형 백엔드 플랫폼 구축 장치
KR102255140B1 (ko) 2020-11-11 2021-05-24 주식회사 테크스페이스 블록체인을 통한 백엔드 플랫폼의 해킹 방지 장치

Also Published As

Publication number Publication date
KR20140051015A (ko) 2014-04-30

Similar Documents

Publication Publication Date Title
US11790158B1 (en) System and method for using a dynamic webpage editor
KR101459299B1 (ko) 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체
US10908928B2 (en) Rules-based workflow messaging
US20150348141A1 (en) Method and system for unifying workflow processes for producing advertisement content
JP7280388B2 (ja) カスタマイズされた人工知能生産ラインを実行する装置及び方法、機器及び媒体
JP6750124B2 (ja) 端末装置、ui拡張方法及びui拡張プログラム
US20150149302A1 (en) Method and system for unifying workflow processes for producing advertisement content
KR102389958B1 (ko) 선택영역 포스팅 방법
KR20150099319A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체
KR20150098842A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체
KR20150098825A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099166A (ko) 애플리케이션 개발 환경 제공 방법
KR20150098841A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체
KR20150099187A (ko) 애플리케이션 개발 환경 제공 방법
KR20150098814A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099204A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099334A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099230A (ko) 애플리케이션 개발 환경 제공 방법
KR20150098887A (ko) 애플리케이션 개발 환경 제공 방법
KR20150097108A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099011A (ko) 애플리케이션 개발 환경 제공 시스템
KR20150099243A (ko) 애플리케이션 개발 환경 제공 방법
KR20150099276A (ko) 애플리케이션 개발 환경 제공 시스템
KR20150099040A (ko) 애플리케이션 개발 환경 제공 시스템
KR20150099149A (ko) 애플리케이션 개발 환경 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191104

Year of fee payment: 6