KR102653900B1 - 전자 장치 및 그의 정보 제공 방법 - Google Patents

전자 장치 및 그의 정보 제공 방법 Download PDF

Info

Publication number
KR102653900B1
KR102653900B1 KR1020230101991A KR20230101991A KR102653900B1 KR 102653900 B1 KR102653900 B1 KR 102653900B1 KR 1020230101991 A KR1020230101991 A KR 1020230101991A KR 20230101991 A KR20230101991 A KR 20230101991A KR 102653900 B1 KR102653900 B1 KR 102653900B1
Authority
KR
South Korea
Prior art keywords
component
type
view
components
application
Prior art date
Application number
KR1020230101991A
Other languages
English (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 KR1020230101991A priority Critical patent/KR102653900B1/ko
Application granted granted Critical
Publication of KR102653900B1 publication Critical patent/KR102653900B1/ko

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • 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/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)

Abstract

전자 장치의 정보 제공 방법이 제공된다. 정보 제공 방법은 애플리케이션에 관한 정보를 획득하는 단계; 상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계; 상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하는 단계; 상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하는 단계; 및 상기 커버리지 비율에 관한 정보를 제공하는 단계를 포함할 수 있다.

Description

전자 장치 및 그의 정보 제공 방법{ELECTRONIC APPARATUS AND PROVIDING INFORMATION METHOD THEREOF}
본 개시는 애플리케이션의 특정 페이지 또는 특정 도메인에서 사용된 설정된 컴포넌트의 비율에 관한 정보를 제공하기 위한 전자 장치 및 그 제어 방법에 관한 것이다.
소비자가 오프라인 주문 아닌 온라인 주문을 이용하여 아이템을 구매하는 추세가 증가하고 있으며, 최근 발생한 코로나로 인하여 이러한 경향성은 더욱 증가하고 있다.
소비자들은 각자 단말에 어플리케이션을 설치할 수 있고, 어플리케이션을 이용하여 아이템을 구매할 수 있다. 이와 같이 소비자들이 이용하는 어플리케이션은 복수이며, 복수의 회사에서 관련 서비스를 제공하며 경쟁하고 있다. 이런 경쟁 상황에서 다른 회사에서 제공하는 서비스 보다 소비자들의 관심을 유지하기 위해 어플리케이션에서 제공되는 페이지의 디자인이 개선될 필요가 있다.
어플리케이션에서 복수의 페이지가 제공되며, 각 페이지는 복수의 구성요소들로 디자인될 수 있다. 이때, 복수의 페이지에서 공통적으로 제공되는 구성요소들의 디자인이 체계적으로 관리될 경우, 소비자들의 User Experience(UX) 증가로 인하여 어플리케이션 이용도가 증가할 수 있다.
따라서, 작업자에게 어플리케이션에서 제공되는 복수의 페이지에 포함되는 복수의 구성요소들의 디자인이 일관되게 렌더링 되었는지 여부에 관한 정보가 제공될 필요가 있다.
개시된 실시 예들은 전자 장치 및 그의 정보 제공 방법을 제공하고자 한다. 보다 구체적으로는, 애플리케이션의 특정 페이지 또는 특정 도메인에서 사용된 설정된 컴포넌트의 비율에 관한 정보를 제공하기 위한 전자 장치 및 그 제어 방법을 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
본 개시의 일 측면은 애플리케이션에 관한 정보를 획득하는 단계; 상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계; 상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하는 단계; 상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하는 단계; 및 상기 커버리지 비율에 관한 정보를 제공하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 제1 타입의 컴포넌트는 설정된 하나 이상의 컴포넌트에 매칭되는 컴포넌트를 포함하고, 상기 제2 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않으나 상기 하나 이상의 컴포넌트로 대체되도록 설정된 컴포넌트를 포함하고, 상기 제3 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않고 상기 하나 이상의 컴포넌트로 대체되지 않도록 설정된 컴포넌트를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 커버리지 비율을 확인하는 단계는, 상기 복수의 컴포넌트들 중 상기 적어도 하나의 제3 컴포넌트를 필터링(filtering out)하는 단계; 상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계; 및 상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수에 기초하여, 상기 커버리지 비율을 결정하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 애플리케이션에 관한 정보는 XML(extensible markup language) 파일을 포함하고, 상기 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계는, 상기 XML 파일을 파싱함으로써, 상기 하나 이상의 페이지에 표시되는 복수의 뷰들의 트리 뷰(tree view)를 생성하는 단계를 포함하고, 상기 적어도 하나의 제1 컴포넌트, 상기 적어도 하나의 제2 컴포넌트 및 상기 적어도 하나의 제3 컴포넌트를 확인하는 단계는, 상기 복수의 뷰들 중 상기 제1 타입의 적어도 하나의 제1 뷰, 상기 제2 타입의 적어도 하나의 제2 뷰 및 상기 제3 타입의 적어도 하나의 제3 뷰를 확인하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계는, 상기 적어도 하나의 제1 뷰의 수 및 상기 적어도 하나의 제2 뷰의 수를 확인하는 단계를 포함하고, 상기 커버리지 비율은, 상기 적어도 하나의 제1 뷰의 수를 상기 적어도 하나의 제1 뷰의 수와 상기 적어도 하나의 제2 뷰의 수의 합으로 나눔으로써 획득된 값으로 결정되는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 커버리지 비율에 관한 정보를 제공하는 단계는, 상기 복수의 뷰들의 트리 뷰에 기초하여, 상기 적어도 하나의 제2 뷰의 종속 관계에 관한 정보를 제공하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 애플리케이션에 관한 정보는 애플리케이션에 관한 코드를 포함하고, 상기 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계는, 상기 애플리케이션에 관한 코드를 파싱함으로써, 상기 하나 이상의 페이지에 대응하는 복수의 노드들의 호출 그래프(call graph)를 생성하는 단계를 포함하고, 상기 적어도 하나의 제1 컴포넌트, 상기 적어도 하나의 제2 컴포넌트 및 상기 적어도 하나의 제3 컴포넌트를 확인하는 단계는, 상기 복수의 노드들 중 상기 제1 타입의 적어도 하나의 제1 노드, 상기 제2 타입의 적어도 하나의 제2 노드 및 상기 제3 타입의 적어도 하나의 제3 노드를 확인하는 단계를 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계는, 상기 적어도 하나의 제1 노드의 호출 횟수 및 상기 적어도 하나의 제2 노드의 호출 횟수를 확인하는 단계를 포함하고, 상기 커버리지 비율은, 상기 적어도 하나의 제1 노드의 호출 횟수를 상기 적어도 하나의 제1 노드의 호출 횟수와 상기 적어도 하나의 제2 노드의 호출 횟수의 합으로 나눔으로써 획득된 값으로 결정되는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 커버리지 비율에 관한 정보를 제공하는 단계는, 상기 복수의 노드들의 호출 그래프에 기초하여, 상기 적어도 하나의 제2 노드의 호출 관계에 관한 정보를 제공하는 단계를 더 포함하는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 커버리지 비율은, 상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각이 상기 하나 이상의 페이지에서 차지하는 면적; 상기 하나 이상의 페이지 내 상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각의 위치; 및 상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각이 사용자에게 노출되는 시간 중 적어도 하나를 더 고려하여 결정되는, 정보 제공 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 커버리지 비율은, 상기 적어도 하나의 제1 컴포넌트의 수가 많을수록, 상기 적어도 하나의 제1 컴포넌트가 차지하는 면적이 클수록, 상기 적어도 하나의 제1 컴포넌트의 위치가 상기 하나 이상의 페이지에 중앙에 가까울수록 또는 상기 적어도 하나의 제1 컴포넌트가 노출되는 시간이 길수록, 보다 높게 결정되는, 정보 제공 방법을 제공할 수 있다.
본 개시의 다른 측면은 트랜시버(transceiver), 메모리 및 프로세서(processor)를 포함하고, 상기 프로세서는, 애플리케이션에 관한 정보를 획득하고, 상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하고, 상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하고, 상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하고, 상기 커버리지 비율에 관한 정보를 제공하는, 전자 장치를 제공할 수 있다.
본 개시의 또 다른 측면은 전자 장치에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다.
본 명세서의 실시 예에 의할 경우, 어플리케이션을 통해 제공되는 도메인의 복수의 페이지들을 관리하는 복수의 작업자들이 각 페이지를 효율적으로 관리할 수 있다. 구체적으로, 각 페이지를 관리하는 작업자들은 설정된 사용자 인터페이스 컴포넌트를 이용하여 페이지를 디자인할 수 있고, 어플리케이션에서 제공되는 복수의 페이지들의 디자인 일관성이 향상될 수 있다.
또한, 본 명세서의 실시 예에 의할 경우, 전자 장치가 애플리케이션에 도메인에 사용된 컴포넌트들 중 설정된 리스트에 대응하는 컴포넌트의 비율에 관한 정보를 제공함으로서, 작업자가 보다 편리하게 도메인의 컴포넌트들을 통일성 있게 디자인할 수 있다. 이에 따라, 전체 페이지가 일관되면서 체계적으로 관리되어 어플리케이션을 이용하는 사용자의 사용자 경험(user experience, UX)가 개선될 수 있다.
또한, 본 명세서의 실시 예에 의할 경우, 전자 장치가 설정된 하나 이상의 컴포넌트로 대체되어야 하는 타입의 컴포넌트의 렌더링 경로 또는 호출 경로에 관한 정보를 제공함으로써, 작업자는 해당 컴포넌트를 보다 쉽게 대체할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 2는 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다.
도 6a 내지 도 6c는 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다.
도 7a 내지 도 7b는 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따라 전자 장치가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따라 전자 장치가 제공하는 사용자 인터페이스의 일 예를 도시한다.
도 10은 일 실시 예에 따른 전자 장치의 정보 제공 방법의 흐름도를 나타낸다.
도 11은 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, 및 c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 1을 참조하면, 시스템은 전자 장치(100), 사용자 단말(120), 작업자 단말(140) 및 네트워크(160) 중에서 적어도 하나를 포함할 수 있다. 한편, 도 1에 도시된 시스템은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 다양한 정보를 구성하여 제공하는 장치이다. 전자 장치(100)는 구성된 정보를 웹 페이지 또는 애플리케이션 화면 등으로 제공하거나, 제공 받는 단말에서 웹 페이지 또는 애플리케이션 화면 등으로 표시할 수 있는 형태의 정보로 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공할 수 있다. 예를 들어, 전자 장치(100)는 애플리케이션에 관한 정보를 획득하고, 애플리케이션에 관한 정보에 기초하여, 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성할 수 있다. 이후, 전자 장치(100)는 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트 및 제2 타입의 적어도 하나의 제2 컴포넌트를 확인하고, 제1 도메인에서의 적어도 하나의 제1 컴포넌트의 커버리지 비율을 확인하며, 커버리지 비율에 관한 정보를 제공할 수 있다.
사용자 단말(120)은 사용자들 각각이 사용하는 단말로서, 사용자들은 각자의 단말(120)을 이용하여 네트워크(160)에 의해 제공되는 서비스에 접근할 수 있다. 예를 들어, 전자 장치(100)는 다양한 아이템을 주문할 수 있는 플랫폼 또는 어플리케이션을 사용자 단말(120)에 제공할 수 있다. 사용자들은 각자의 사용자 단말(120)에 설치된 어플리케이션 등을 이용하여, 다양한 아이템을 주문할 수 있다.
작업자 단말(140)은 작업자들 각각이 사용하는 단말로서, 작업자들은 각자의 단말(140)을 이용하여, 애플리케이션의 하나 이상의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 확인할 수 있다. 예를 들어, 작업자 단말(140)은 전자 장치(100)로부터 수신한 정보에 기초하여, 애플리케이션의 하나 이상의 도메인 각각에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 사용자 인터페이스를 제공할 수 있다.
사용자 단말(120) 및 작업자 단말(140)과 전자 장치(100)는 네트워크(160) 내에서 서로 통신할 수 있다. 네트워크(160)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 관한 정보를 획득할 수 있다. 보다 구체적으로, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다.
예를 들어, 전자 장치(100)는 애플리케이션의 제1 도메인을 구현하기 위한 XML(extensible markup language) 파일(230), 애플리케이션에 관한 코드(240) 및 JAR(java archive) 파일(250) 중 적어도 하나를 획득할 수 있다. 이때, 제1 도메인은 XML 파일(230), 애플리케이션에 관한 코드(240) 또는 JAR 파일(250) 각각에 의해 구현되거나, XML 파일(230), 애플리케이션에 관한 코드(240) 및 JAR 파일(250) 중 둘 이상의 조합에 의해 구현될 수 있다.
한편, 애플리케이션에 관한 코드(240)는 java 코드 또는 kotlin 코드를 포함할 수 있으나, 애플리케이션에 관한 코드(240)에 포함되는 코드의 타입은 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 관한 정보에 기초하여 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성할 수 있다.
예를 들어, XML 분석 모듈(200)은 획득한 XML 파일(230)을 파싱함으로써, 제1 도메인 내 하나 이상의 페이지에 표시되는 복수의 뷰들의 트리 뷰를 생성할 수 있다. 이때, 뷰(view)는 디스플레이에 표시되는 사용자 인터페이스의 기본적인 구성요소로서, 텍스트, 이미지, 입력 필드, 아이콘 또는 버튼 등 다양한 타입의 사용자 인터페이스 컴포넌트를 포함할 수 있다.
또다른 예를 들어, 코드 분석 모듈(210)은 획득한 애플리케이션에 관한 코드(240)를 파싱함으로써, 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 노드들의 호출 그래프를 생성할 수 있다. 이때, 노드(node)는 애플리케이션에 관한 코드(240)에 포함된 함수, 클래스 또는 메소드 등을 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 컴포넌트들 중 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트를 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 복수의 컴포넌트들 중 설정된 하나 이상의 컴포넌트에 매칭되는 컴포넌트를 제1 타입의 컴포넌트로 확인할 수 있다. 또한, 전자 장치(100)는 복수의 컴포넌트들 중 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 컴포넌트를 제2 타입의 컴포넌트로 확인할 수 있다.
예를 들어, XML 분석 모듈(200)은 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 뷰를 제1 타입의 뷰로 확인할 수 있고, 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 뷰를 제2 타입의 뷰로 확인할 수 있다.
또다른 예를 들어, 코드 분석 모듈(210)은 복수의 노드들 중 설정된 하나 이상의 컴포넌트에 매칭되는 노드를 제1 타입의 노드로 확인할 수 있고, 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 노드를 제2 타입의 노드로 확인할 수 있다.
한편, 제1 타입의 컴포넌트는 설정된 가이드라인에 부합하도록 디자인된 사용자 인터페이스 컴포넌트로서 RDS(rocket design system) 컴포넌트로 지칭될 수 있고, 제2 타입의 컴포넌트는 설정된 가이드라인에 부합하지 않는 사용자 인터페이스 컴포넌트로서 Non-RDS 컴포넌트로 지칭될 수 있다. 다만, 이를 지칭하는 용어는 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수를 확인할 수 있다. 예를 들어, XML 분석 모듈(200)은 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 또는, 코드 분석 모듈(210)은 제1 타입의 노드의 호출 횟수 및 제2 타입의 노드의 호출 횟수를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 데이터 통합 모듈(220)은 XML 분석 모듈(200) 또는 코드 분석 모듈(210)로부터 획득한 정보에 기초하여, 커버리지 비율을 결정할 수 있다.
예를 들어, 애플리케이션의 제1 도메인이 XML 파일(230)에 의해서 구현된 경우, 데이터 통합 모듈(220)은 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수에 관한 정보를 XML 분석 모듈(200)로부터 획득할 수 있다. 이후, 데이터 통합 모듈(220)은 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
또다른 예를 들어, 애플리케이션의 제1 도메인이 애플리케이션에 관한 코드(240)에 의해서 구현된 경우, 데이터 통합 모듈(220)은 제1 타입의 노드의 호출 횟수 및 제2 타입의 노드의 호출 횟수에 관한 정보를 코드 분석 모듈(210)로부터 획득할 수 있다. 이후, 데이터 통합 모듈(220)은 제1 타입의 노드의 호출 횟수를 제1 타입의 노드의 호출 횟수와 제2 타입의 노드의 호출 횟수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
또다른 예를 들어, 애플리케이션의 제1 도메인이 XML 파일(230) 및 애플리케이션에 관한 코드(240)에 의해서 구현된 경우, 데이터 통합 모듈(220)은 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수에 관한 정보를 XML 분석 모듈(200)로부터 획득하고, 제1 타입의 노드의 호출 횟수 및 제2 타입의 노드의 호출 횟수에 관한 정보를 코드 분석 모듈(210)로부터 획득할 수 있다. 이후, 데이터 통합 모듈(220)은 제1 타입의 뷰의 수 및 제1 타입의 노드의 호출 횟수의 합을 제1 타입의 뷰의 수, 제2 타입의 뷰의 수, 제1 타입의 노드의 호출 횟수 및 제2 타입의 노드의 호출 횟수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 관한 정보에 기초하여 커버리지 비율에 관한 정보(260)를 제공할 수 있다. 예를 들어, 전자 장치(100)는 작업자 단말(140)을 통해, 애플리케이션의 하나 이상의 도메인 각각에서의 제1 타입의 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 사용자 인터페이스를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인을 분석한 결과에 관한 정보를 제공할 수 있다. 보다 구체적으로, 전자 장치(100)는 뷰 렌더링 경로에 관한 정보(270), 뷰 위치에 관한 정보(280) 및 함수 호출 경로에 관한 정보(290) 중 적어도 하나를 제공할 수 있다.
예를 들어, 전자 장치(100)는 복수의 뷰들의 트리 뷰에 기초하여, 제2 타입의 뷰 각각의 종속 관계에 관한 정보 또는 렌더링 경로에 관한 정보(270)를 제공할 수 있다. 또는, 전자 장치(100)는 복수의 뷰들의 트리 뷰에 기초하여, 제2 타입의 뷰 각각의 트리 뷰에서의 위치에 관한 정보(280)를 제공할 수 있다. 전자 장치(100)는 복수의 노드들의 호출 그래프에 기초하여, 제2 타입의 노드 각각의 호출 관계에 관한 정보(290)를 제공할 수 있다.
도 3은 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다. 도 2와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.
일 실시 예에 따르면, XML 분석 모듈(300)은 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다. 예를 들어, XML 분석 모듈(300)은 애플리케이션의 제1 도메인을 구현하기 위한 XML 파일(305)을 획득할 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 XML 파일(305)에 기초하여 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 뷰들의 트리 뷰(315)를 생성할 수 있다. 예를 들어, 파싱 모듈(310)은 획득한 XML 파일(305)을 파싱함으로써, 제1 도메인 내 하나 이상의 페이지에 표시되는 제1 뷰 내지 제9 뷰 간의 종속 관계를 나타내는 트리 뷰(315)를 생성할 수 있다.
이때, 트리 뷰(tree view)는 복수의 뷰들이 렌더링 될 때의 종속 관계를 계층적인 구조로 나타내는 그래프를 지칭할 수 있다. 예를 들어, 도 3을 참조하면, 제5 뷰가 렌더링되기 위해서는 제1 뷰 및 제2 뷰의 렌더링이 선행되어야 함에 따라, 제5 뷰는 제1 뷰 및 제2 뷰에 종속되는 관계를 가질 수 있고, 이는 제1 뷰 → 제2 뷰 → 제5 뷰의 구조로 트리 뷰(315)에 표현될 수 있다. 한편, 트리 뷰는 뷰 트리(view tree) 등으로 혼용될 수 있으나, 이를 지칭하는 용어는 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, XML 분석 모듈(300)은 복수의 뷰들 각각의 타입을 확인할 수 있다. 보다 구체적으로, XML 분석 모듈(300)은 설정된 하나 이상의 컴포넌트와 매칭되는지 여부 및 설정된 하나 이상의 컴포넌트로 대체되도록 설정되었는지 여부에 기초하여, 복수의 뷰들 중 제1 타입의 뷰, 제2 타입의 뷰 및 제3 타입의 뷰를 확인할 수 있다.
예를 들어, 도 3을 참조하면, XML 분석 모듈(300)은 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제5 뷰, 제6 뷰, 제7 뷰 및 제9 뷰를 제1 타입의 뷰로 확인할 수 있다. 또한, XML 분석 모듈(300)은 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제3 뷰 및 제8 뷰를 제2 타입의 뷰로 확인할 수 있다. XML 분석 모듈(300)은 하나 이상의 컴포넌트에 매칭되지 않고 하나 이상의 컴포넌트로 대체되지 않도록 설정된 제1 뷰, 제2 뷰 및 제4 뷰를 제3 타입의 뷰로 확인할 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 복수의 뷰들 중 제3 타입의 뷰를 필터링할 수 있다. 예를 들어, 필터링 모듈(320)은 제3 타입의 뷰로 확인된 제1 뷰, 제2 뷰 및 제4 뷰를 제외할 수 있다. 다만, 제3 타입의 뷰를 필터링하는 과정은 생략될 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 복수의 뷰들 중 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 예를 들어, 카운팅 모듈(350)은 제1 타입의 뷰의 수가 4이고, 제2 타입의 뷰의 수가 2임을 확인할 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 애플리케이션에 관한 코드(325) 및 JAR 파일(330) 중 적어도 하나에 기초하여 레퍼런스 정보(345)를 확인하고, 이를 추가적으로 고려하여 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 예를 들어, 제1 도메인 및 제2 도메인에서의 제1 타입의 뷰의 커버리지 비율을 계산하는 경우, 레퍼런스 분석 모듈(340)은 트리 뷰(315)에 포함된 제1 타입의 뷰 및 제2 타입의 뷰가 제2 도메인에서 렌더링된 횟수를 확인할 수 있다. 이후, 카운팅 모듈(350)은 레퍼런스 분석 모듈(340)로부터 획득한 렌더링된 횟수를 추가적으로 고려하여, 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 다만, 제1 도메인에서의 제1 타입의 뷰의 커버리지 비율만을 계산하는 경우, 레퍼런스 정보를 생성 및 고려하는 과정은 생략될 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 뷰의 수에 관한 정보(355)를 제공할 수 있다. 예를 들어, 카운팅 모듈(350)은 제1 타입의 뷰의 수가 4이고, 제2 타입의 뷰의 수가 2라는 정보를 포함하는 뷰의 수에 관한 정보(355)를 데이터 통합 모듈에 제공할 수 있다.
일 실시 예에 따르면, XML 분석 모듈(300)은 경로에 관한 정보(365)를 제공할 수 있다. 보다 구체적으로, XML 분석 모듈(300)은 복수의 뷰들의 트리 뷰(315)에 기초하여, 제2 타입의 뷰의 종속 관계에 관한 정보 또는 렌더링 경로에 관한 정보(365)를 제공할 수 있다.
예를 들어, 경로 식별 모듈(360)은 제2 타입의 제3 뷰의 종속 관계가 제1 뷰 → 제3 뷰이고, 제2 타입의 제8 뷰의 종속 관계가 제1 뷰 → 제4 뷰 → 제8 뷰라는 정보를 포함하는 경로에 관한 정보(365)를 데이터 통합 모듈에 제공할 수 있다.
이와 같이, XML 분석 모듈(300)이 설정된 하나 이상의 컴포넌트로 대체되어야 하는 제2 타입의 뷰의 렌더링 경로에 관한 정보를 제공함으로써, 작업자는 제2 타입의 뷰를 보다 쉽게 대체할 수 있다.
한편, 도 3의 XML 분석 모듈(300)은 도 2의 XML 분석 모듈(200)에 대응할 수 있다.
도 4는 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 제공하는 과정을 설명하기 위한 도면이다. 도 2와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다. 예를 들어, 코드 분석 모듈(400)은 애플리케이션의 제1 도메인을 구현하기 위한 애플리케이션에 관한 코드(410)를 획득할 수 있다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 애플리케이션에 관한 코드(410)에 기초하여, 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 노드들의 호출 그래프(430)를 생성할 수 있다. 예를 들어, 파싱 모듈(420)은 획득한 애플리케이션에 관한 코드(410)를 파싱함으로써, 제1 도메인 내 하나 이상의 페이지에 대응하는 제1 노드 내지 제8 노드 간의 호출 관계를 나타내는 호출 그래프(430)를 생성할 수 있다.
이때, 호출 그래프(call graph)는 복수의 노드들 간의 호출 관계 및 호출 횟수를 나타내는 가중 방향성 비순환 그래프(weighted directed acyclic graph)를 지칭할 수 있다. 예를 들어, 도 4를 참조하면, 애플리케이션에 관한 코드(410)에 제2 노드가 제3 노드를 3번 호출하고, 제3 노드가 제4 노드를 2번 호출하도록 작성될 수 있고, 이는 제2 노드 →(3) 제3 뷰 →(2) 제4 뷰의 구조로 호출 그래프(430)에 표현될 수 있다. 또한, 복수의 노드들 중 뷰 렌더링 기능을 수행하는 함수에 대응하는 제1 노드, 제2 노드, 제3 노드 및 제5 노드는 별표로 표시될 수 잇다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 복수의 노드들 각각의 타입을 확인할 수 있다. 보다 구체적으로, 코드 분석 모듈(400)은 설정된 하나 이상의 컴포넌트와 매칭되는지 여부 및 설정된 하나 이상의 컴포넌트로 대체되도록 설정되었는지 여부에 기초하여, 복수의 노드들 중 제1 타입의 노드, 제2 타입의 노드 및 제3 타입의 노드를 확인할 수 있다.
예를 들어, 도 4를 참조하면, 코드 분석 모듈(400)은 복수의 노드들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제4 노드를 제1 타입의 노드로 확인할 수 있다. 또한, 코드 분석 모듈(400)은 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제7 노드 및 제8 노드를 제2 타입의 노드로 확인할 수 있다. 코드 분석 모듈(400)은 하나 이상의 컴포넌트에 매칭되지 않고 하나 이상의 컴포넌트로 대체되지 않도록 설정된 제1 노드, 제2 노드, 제3 노드, 제5 노드 및 제6 노드를 제3 타입의 노드로 확인할 수 있다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 복수의 노드들 중 제3 타입의 노드를 필터링할 수 있다. 예를 들어, 필터링 모듈(440)은 제3 타입의 노드로 확인된 제1 노드, 제2 노드, 제3 노드, 제5 노드 및 제6 노드를 제외할 수 있다. 다만, 제3 타입의 노드를 필터링하는 과정은 생략될 수 있다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 복수의 노드들 중 제1 타입의 노드의 호출 횟수 및 제2 타입의 노드의 호출 횟수를 확인할 수 있다. 보다 구체적으로, 코드 분석 모듈(400)은 뷰 렌더링 기능을 수행하는 함수에 대응하는 노드가 제1 타입의 노드 및 제2 타입의 노드를 각각 몇 번 호출하는지 확인할 수 있다.
예를 들어, 카운팅 모듈(450)은 제1 타입의 제4 노드를 제1 노드가 1번 호출하고, 제2 노드가 제3 노드를 통해 6번(3x2) 호출하며, 제3 노드가 2번 호출함을 확인할 수 있다. 또한, 카운팅 모듈(450)은 제2 타입의 제7 노드를 제5 노드가 제6 노드를 통해 1번 호출하고, 제8 노드를 2번(1x2) 호출함을 확인할 수 있다. 카운팅 모듈(450)은 제2 타입의 제8 노드를 제5 노드가 1번 호출함을 확인할 수 있다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 노드의 호출 횟수에 관한 정보(460)를 제공할 수 있다. 예를 들어, 카운팅 모듈(450)은 제1 타입의 노드의 호출 횟수가 9이고, 제2 타입의 노드의 호출 횟수가 4라는 정보를 포함하는 노드의 호출 횟수에 관한 정보(460)를 데이터 통합 모듈에 제공할 수 있다.
일 실시 예에 따르면, 코드 분석 모듈(400)은 경로에 관한 정보(480)를 제공할 수 있다. 보다 구체적으로, 코드 분석 모듈(400)은 복수의 노드들의 호출 그래프(430)에 기초하여, 제2 타입의 노드의 호출 경로에 관한 정보(480)를 제공할 수 있다.
예를 들어, 경로 식별 모듈(470)은 제2 타입의 제7 노드의 호출 경로가 제5 노드 → 제6 노드 → 제7 노드, 제5 노드 → 제8 노드 → 제7 노드이고, 제2 타입의 제8 노드의 호출 경로가 제5 노드 → 제8 노드라는 정보를 포함하는 경로에 관한 정보(480)를 데이터 통합 모듈에 제공할 수 있다.
이와 같이, 코드 분석 모듈(400)이 설정된 하나 이상의 컴포넌트로 대체되어야 하는 제2 타입의 노드의 호출 경로에 관한 정보를 제공함으로써, 작업자는 제2 타입의 노드를 보다 쉽게 대체할 수 있다.
한편, 도 4의 코드 분석 모듈(400)은 도 2의 코드 분석 모듈(210)에 대응할 수 있다.
도 5는 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다. 도 2와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다. 예를 들어, 전자 장치(100)는 애플리케이션의 제1 도메인을 구현하기 위한 XML 파일을 획득할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 XML 파일에 기초하여, 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 뷰들의 트리 뷰를 생성할 수 있다. 예를 들어, 도 5를 참조하면, 전자 장치(100)는 획득한 XML 파일을 파싱함으로써, 애플리케이션의 제1 도메인의 제1 페이지에 표시되는 제1 뷰(500), 제2 뷰(520), 제3 뷰(540), 제4 뷰(560) 및 제5 뷰(580) 간의 종속 관계를 나타내는 트리 뷰를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 각각의 타입을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 설정된 하나 이상의 컴포넌트와 매칭되는지 여부 및 설정된 하나 이상의 컴포넌트로 대체되도록 설정되었는지 여부에 기초하여, 복수의 뷰들 중 제1 타입의 뷰 및 제2 타입의 뷰를 확인할 수 있다.
예를 들어, 도 5를 참조하면, 전자 장치(100)는 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제4 뷰(560) 및 제5 뷰(580)를 제1 타입의 뷰로 확인할 수 있다. 또한, 전자 장치(100)는 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제1 뷰(500), 제2 뷰(520) 및 제3 뷰(540)를 제2 타입의 뷰로 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 중 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 예를 들어, 전자 장치(100)는 제1 타입의 뷰의 수가 2이고, 제2 타입의 뷰의 수가 3임을 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
예를 들어, 전자 장치(100)는 제1 타입의 뷰의 수인 2를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합인 5로 나눔으로써 획득된 2/5 또는 40%를 제1 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율로 결정할 수 있다.
한편, 도 5는 애플리케이션의 제1 도메인의 제1 페이지가 제1 뷰(500)에 대응하는 것으로 도시하지만, 이는 일 실시 예에 불과하며, 페이지 자체가 하나의 뷰에 대응하는지 여부는 모듈을 구현하기 위한 코드 또는 파일이 어떻게 작성되었는지에 따라 상이할 수 있다.
도 6a 내지 도 6c는 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다. 도 2와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다. 예를 들어, 전자 장치(100)는 애플리케이션의 상품 상세 페이지(single detail page, SDP) 도메인의 제1 페이지(600), 제2 페이지(610) 및 제3 페이지(620)를 구현하기 위한 XML 파일을 획득할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 XML 파일에 기초하여, 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 뷰들의 트리 뷰를 생성할 수 있다. 예를 들어, 전자 장치(100)는 XML 파일을 파싱함으로써, 제1 페이지(600)에 표시되는 제1 뷰(632) 내지 제12 뷰(654) 간의 종속 관계를 나타내는 제1 트리 뷰, 제2 페이지(610)에 표시되는 제13 뷰(656) 내지 제24 뷰(678) 간의 종속 관계를 나타내는 제2 트리 뷰 및 제3 페이지(620)에 표시되는 제25 뷰(680) 내지 제33 뷰(696) 간의 종속 관계를 나타내는 제3 트리 뷰를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 각각의 타입을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 설정된 하나 이상의 컴포넌트와 매칭되는지 여부 및 설정된 하나 이상의 컴포넌트로 대체되도록 설정되었는지 여부에 기초하여, 복수의 뷰들 중 제1 타입의 뷰, 제2 타입의 뷰 및 제3 타입의 뷰를 확인할 수 있다.
예를 들어, 도 6a를 참조하면, 전자 장치(100)는 제1 페이지(600)에 표시되는 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제2 뷰(634), 제6 뷰(642), 제7 뷰(644) 및 제8 뷰(646)를 제1 타입의 뷰로 확인할 수 있다. 또한, 전자 장치(100)는 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제3 뷰(636), 제9 뷰(648), 제10 뷰(650), 제11 뷰(652) 및 제12 뷰(654)를 제2 타입의 뷰로 확인할 수 있다. 전자 장치(100)는 하나 이상의 컴포넌트에 매칭되지 않고 하나 이상의 컴포넌트로 대체되지 않도록 설정된 제1 뷰(632), 제4 뷰(638) 및 제5 뷰(640)를 제3 타입의 뷰로 확인할 수 있다.
또다른 예를 들어, 도 6b를 참조하면, 전자 장치(100)는 제2 페이지(610)에 표시되는 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제13 뷰(656), 제15 뷰(660), 제16 뷰(662), 제18 뷰(666), 제23 뷰(676) 및 제24 뷰(678)를 제1 타입의 뷰로 확인할 수 있다. 또한, 전자 장치(100)는 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제14 뷰(658), 제17 뷰(664), 제19 뷰(668), 제20 뷰(670), 제21 뷰(672) 및 제22 뷰(674)를 제2 타입의 뷰로 확인할 수 있다.
또다른 예를 들어, 도 6c를 참조하면, 전자 장치(100)는 제3 페이지(620)에 표시되는 복수의 뷰들 중 설정된 하나 이상의 컴포넌트에 매칭되는 제25 뷰(680), 제28 뷰(686), 제29 뷰(688), 제31 뷰(692), 제32 뷰(694)를 제1 타입의 뷰로 확인할 수 있다. 또한, 전자 장치(100)는 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 제26 뷰(682), 제27 뷰(684), 제30 뷰(690) 및 제33 뷰(696)를 제2 타입의 뷰로 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 중 제3 타입의 뷰를 필터링할 수 있다. 예를 들어, 전자 장치(100)는 제3 타입의 뷰로 확인된 제1 뷰(632), 제4 뷰(638) 및 제5 뷰(640)를 제외할 수 있다. 다만, 제3 타입의 뷰를 필터링하는 과정은 생략될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 중 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 적어도 하나의 도메인 내 하나 이상의 페이지 각각에 대응하는 제1 타입의 뷰의 총 수 및 제2 타입의 뷰의 총 수를 확인할 수 있다.
예를 들어, 전자 장치(100)는 SDP 도메인의 제1 페이지(600), 제2 페이지(610) 및 제3 페이지(620) 각각에 포함된 제1 타입의 뷰의 총 수가 15임을 확인할 수 있고, SDP 도메인의 제1 페이지(600), 제2 페이지(610) 및 제3 페이지(620) 각각에 포함된 제2 타입의 뷰의 총 수가 15임을 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 제1 타입의 뷰의 총 수를 제1 타입의 뷰의 총 수와 제2 타입의 뷰의 총 수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
예를 들어, 전자 장치(100)는 제1 타입의 뷰의 총 수인 15를 제1 타입의 뷰의 총 수와 제2 타입의 뷰의 총 수의 합인 30로 나눔으로써 획득된 15/30 또는 50%를 SDP 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율로 결정할 수 있다.
도 7a 내지 도 7b는 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다. 도 2와 중복되는 내용은 간략히 설명하거나 생략하기로 한다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 제1 타입의 컴포넌트의 수가 많을수록, 제1 타입의 컴포넌트의 커버리지 비율을 보다 높게 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 페이지에서 차지하는 면적에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 페이지에서 제1 타입의 컴포넌트가 차지하는 면적이 클수록, 제1 타입의 컴포넌트의 커버리지 비율을 보다 높게 결정할 수 있다.
예를 들어, 도 7a를 참조하면, 전자 장치(100)는 제2 타입의 제1 뷰(700), 제2 타입의 제2 뷰(710) 및 제1 타입의 제3 뷰(720) 각각이 페이지에서 차지하는 면적의 비율이 1:1:2임을 확인할 수 있다. 이에 따라, 전자 장치(100)는 제1 타입의 컴포넌트의 커버리지 비율을 2/(1+1+2) = 2/4 = 50%로 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 페이지 내 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각의 위치에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 제1 타입의 컴포넌트의 위치가 페이지에 중앙에 가까울수록, 제1 타입의 컴포넌트의 커버리지 비율을 보다 높게 결정할 수 있다.
예를 들어, 도 7b를 참조하면, 전자 장치(100)는 제2 타입의 제4 뷰(730) 및 제6 뷰(750)와 제1 타입의 제5 뷰(740) 각각의 중심으로부터 페이지의 중심까지의 거리의 비율이 0.5:0.5:0임을 확인할 수 있다. 전자 장치(100)는 페이지에 중앙에 가까운 컴포넌트에 보다 높은 가중치를 부여하기 위하여, 1에서 컴포넌트 각각의 중심으로부터 페이지의 중심까지의 거리의 비율을 뺀 (1-0.5):(1-0.5):(1-0)=0.5:0.5:1을 컴포넌트 각각에 적용되는 값으로 결정할 수 있다. 이에 따라, 전자 장치(100)는 제1 타입의 컴포넌트의 커버리지 비율을 1/(0.5+0.5+1) = 1/2 = 50%로 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 사용자에게 노출되는 시간에 기초하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 제1 타입의 컴포넌트가 노출되는 시간이 길수록, 제1 타입의 컴포넌트의 커버리지 비율을 보다 높게 결정할 수 있다.
예를 들어, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 사용자에게 노출된 시간에 관한 정보를 사용자 단말로부터 수신할 수 있다. 이후, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 사용자에게 노출된 시간의 비율에 기초하여, 제1 타입의 컴포넌트의 커버리지 비율을 결정할 수 있다. 이때, 컴포넌트가 사용자에게 노출된 시간은 컴포넌트가 사용자 단말의 디스플레이에 실제로 표시된 시간을 나타내는 것으로, 사용자의 스크롤 동작 또는 사용자가 선택한 아이콘 등에 따라 상이하게 결정될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각의 수에 관한 제1 인자, 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 페이지에서 차지하는 면적에 관한 제2 인자, 페이지 내 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각의 위치에 관한 제3 인자 및 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 사용자에게 노출되는 시간에 관한 제4 인자에 상이한 가중치를 적용하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다.
예를 들어, 전자 장치(100)는 작업자 단말로부터 수신한 설정 정보에 기초하여, 제3 인자 및 제4 인자에 적용되는 가중치를 0으로 결정할 수 있다. 이에 따라, 전자 장치(100)는 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각의 수에 관한 제1 인자 및 제1 타입의 컴포넌트 및 제2 타입의 컴포넌트 각각이 페이지에서 차지하는 면적에 관한 제2 인자만을 고려하여, 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 결정할 수 있다.
도 8은 일 실시 예에 따라 전자 장치(100)가 애플리케이션의 적어도 하나의 도메인에서의 설정된 컴포넌트의 커버리지 비율을 결정하는 과정을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션의 적어도 하나의 도메인을 구현하기 위한 코드 또는 파일을 획득할 수 있다. 보다 구체적으로, 전자 장치(100)는 적어도 하나의 도메인을 구현하기 위한 복수의 모듈들 각각에 포함된 코드 또는 파일을 획득할 수 있다.
예를 들어, 전자 장치(100)는 제1 도메인(800)의 제1 영역(820)을 구현하기 위한 제1 모듈에 포함된 XML 파일, java 코드, kotlin 코드 또는 JAR 파일을 획득할 수 있다. 또는, 전자 장치(100)는 제1 도메인(800)의 제2 영역(840)을 구현하기 위한 제2 모듈에 포함된 XML 파일, java 코드, kotlin 코드 또는 JAR 파일을 획득할 수 있다. 전자 장치(100)는 제1 도메인(800)의 제3 영역(860)을 구현하기 위한 제3 모듈에 포함된 XML 파일, java 코드, kotlin 코드 또는 JAR 파일을 획득할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 애플리케이션에 관한 정보에 기초하여 애플리케이션의 적어도 하나의 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성할 수 있다. 예를 들어, 전자 장치(100)는 제1 모듈에 포함된 코드를 파싱함으로써, 제1 영역(820)에 표시되는 복수의 제1 뷰들의 트리 뷰를 생성할 수 있다. 또는, 전자 장치(100)는 제2 모듈에 포함된 코드를 파싱함으로써, 제2 영역(840)에 표시되는 복수의 제2 뷰들의 트리 뷰를 생성할 수 있다. 전자 장치(100)는 제3 모듈에 포함된 코드를 파싱함으로써, 제3 영역(860)에 표시되는 복수의 제3 뷰들의 트리 뷰를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 각각의 타입을 확인할 수 있다. 예를 들어, 설정된 하나 이상의 컴포넌트와 매칭되는지 여부 및 설정된 하나 이상의 컴포넌트로 대체되도록 설정되었는지 여부에 기초하여, 전자 장치(100)는 복수의 제1 뷰들, 복수의 제2 뷰들 및 복수의 제3 뷰들 중 제1 타입의 뷰, 제2 타입의 뷰 및 제3 타입의 뷰를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 중 제3 타입의 뷰를 필터링할 수 있다. 예를 들어, 전자 장치(100)는 복수의 제1 뷰들, 복수의 제2 뷰들 및 복수의 제3 뷰들 중 제3 타입의 뷰로 확인된 뷰를 제외할 수 있다. 다만, 제3 타입의 뷰를 필터링하는 과정은 생략될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 복수의 뷰들 중 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다. 예를 들어, 전자 장치(100)는 복수의 제1 뷰들, 복수의 제2 뷰들 및 복수의 제3 뷰들 별로 제1 타입의 뷰의 수 및 제2 타입의 뷰의 수를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 타입의 컴포넌트의 수 및 제2 타입의 컴포넌트의 수에 기초하여, 애플리케이션의 적어도 하나의 도메인에 포함된 영역 별로, 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 적어도 하나의 도메인에 포함된 영역 각각에 표시되는 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 값을 커버리지 비율로 결정할 수 있다.
예를 들어, 전자 장치(100)는 제1 영역(820)에 표시된 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 20%를 제1 영역(820)에서의 제1 타입의 컴포넌트의 커버리지 비율로 결정할 수 있다. 또는, 전자 장치(100)는 제2 영역(840)에 표시된 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 100%를 제2 영역(840)에서의 제1 타입의 컴포넌트의 커버리지 비율로 결정할 수 있다. 전자 장치(100)는 제3 영역(860)에 표시된 제1 타입의 뷰의 수를 제1 타입의 뷰의 수와 제2 타입의 뷰의 수의 합으로 나눔으로써 획득된 50%를 제3 영역(860)에서의 제1 타입의 컴포넌트의 커버리지 비율로 결정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 적어도 하나의 도메인에 포함된 하나 이상의 영역 별로 상이한 가중치를 적용하여, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 하나 이상의 영역 각각이 차지하는 면적, 하나 이상의 영역 각각의 위치 및 하나 이상의 영역 각각이 사용자에게 노출되는 시간에 기초하여 하나 이상의 영역마다 상이한 가중치를 적용함으로써, 애플리케이션의 적어도 하나의 도메인에서의 제1 타입의 컴포넌트의 커버리지 비율을 확인할 수 있다.
예를 들어, 전자 장치(100)는 작업자 단말로부터 수신한 설정 정보에 기초하여, 하나 이상의 영역 각각이 차지하는 면적에 따라 제1 영역(820), 제2 영역(840) 및 제3 영역(860)에 상이한 가중치를 적용할 수 있다. 이에 따라, 전자 장치(100)는 제1 영역(820), 제2 영역(840) 및 제3 영역(860)이 차지하는 면적의 비율이 1:2:1임을 확인하고, 제1 타입의 컴포넌트의 커버리지 비율을 (1x20% + 2x100% + 1x50%)/(1+2+1) = 67.5%로 결정할 수 있다.
도 9는 일 실시 예에 따라 전자 장치(100)가 제공하는 사용자 인터페이스(900)의 일 예를 도시한다.
일 실시 예에 따르면, 전자 장치(100)는 작업자 단말을 통해 애플리케이션의 하나 이상의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 포함하는 사용자 인터페이스(900)를 작업자에게 제공할 수 있다. 예를 들어, 도 9를 참조하면, 작업자 단말은 전자 장치(100)로부터 웹 페이지 또는 애플리케이션 화면 등으로 표시할 수 있는 형태의 정보를 수신하고, 수신한 정보에 기초하여 애플리케이션 전체에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 영역 또는 애플리케이션의 하나 이상의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 영역 등을 포함하는 사용자 인터페이스(900)를 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(900)는 애플리케이션에 관한 파라미터를 설정하기 위한 영역(910)을 포함할 수 있다. 예를 들어, 영역(910)은 애플리케이션의 버전을 설정하기 위한 영역, 애플리케이션이 설치된 사용자 단말의 플랫폼을 설정하기 위한 영역 및 도메인을 설정하기 위한 영역을 포함할 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(900)는 애플리케이션 전체에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 영역(920)을 포함할 수 있다. 예를 들어, 작업자가 영역(910)에서 애플리케이션의 버전을 7.7.1로 설정하고, 애플리케이션이 설치된 사용자 단말의 플랫폼을 Android로 설정함에 따라, 영역(920)에는 Android 플랫폼의 사용자 단말에 설치된 7.7.1 버전의 애플리케이션 전체에서의 제1 타입의 컴포넌트의 커버리지 비율이 8%라는 정보가 표시될 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(900)는 애플리케이션의 특정 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 영역(930)을 포함할 수 있다. 예를 들어, 작업자가 영역(910)에서 애플리케이션의 버전을 7.7.1로 설정하고, 도메인을 domain-cart로 설정함에 따라, 영역(930)에는 버전 7.7.1의 애플리케이션의 domain-cart에서의 제1 타입의 컴포넌트의 커버리지 비율이 13.2%라는 정보가 표시될 수 있다. 또한, 영역(930)에는 7.7.1 직전의 버전인 7.6.9 버전의 애플리케이션의 domain-cart에서의 제1 타입의 컴포넌트의 커버리지 비율이 12.9%라는 정보가 함께 표시됨으로써, 개선된 비율에 관한 정보가 제공될 수 있다.
일 실시 예에 따르면, 사용자 인터페이스(900)는 애플리케이션의 하나 이상의 도메인에서의 설정된 컴포넌트의 커버리지 비율에 관한 정보를 표시하는 영역(940) 및 영역(950)을 포함할 수 있다. 예를 들어, 영역(940) 및 영역(950)에는 애플리케이션의 복수의 도메인들 각각에서의 제1 타입의 컴포넌트의 커버리지 비율에 관한 정보가 표시될 수 있다.
한편, 도 9의 도시된 사용자 인터페이스 컴포넌트의 종류 및 커버리지 비율에 관한 구체적인 예시들은 일 실시 예에 불과하며, 본 개시가 전술한 바와 상이한 예시들로 구현될 수 있음은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
도 10은 일 실시 예에 따른 전자 장치의 정보 제공 방법의 흐름도를 나타낸다. 중복되는 내용에 대해서는 전술한 기재가 적용될 수 있다.
S1000 단계에서, 전자 장치는 애플리케이션에 관한 정보를 획득할 수 있다.
일 실시 예에 따르면, 애플리케이션에 관한 정보는 XML(extensible markup language) 파일을 포함할 수 있다.
일 실시 예에 따르면, 애플리케이션에 관한 정보는 애플리케이션에 관한 코드를 포함할 수 있다.
S1020 단계에서, 전자 장치는 애플리케이션에 관한 정보에 기초하여, 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치는 복수의 컴포넌트들 간의 관계 그래프를 생성할 때, XML 파일을 파싱함으로써, 하나 이상의 페이지에 표시되는 복수의 뷰들의 트리 뷰(tree view)를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치는 복수의 컴포넌트들 간의 관계 그래프를 생성할 때, 애플리케이션에 관한 코드를 파싱함으로써, 하나 이상의 페이지에 대응하는 복수의 노드들의 호출 그래프(call graph)를 생성할 수 있다.
S1040 단계에서, 전자 장치는 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인할 수 있다.
일 실시 예에 따르면, 제1 타입의 컴포넌트는 설정된 하나 이상의 컴포넌트에 매칭되는 컴포넌트를 포함하고, 제2 타입의 컴포넌트는 하나 이상의 컴포넌트에 매칭되지 않으나 하나 이상의 컴포넌트로 대체되도록 설정된 컴포넌트를 포함하며, 제3 타입의 컴포넌트는 하나 이상의 컴포넌트에 매칭되지 않고 하나 이상의 컴포넌트로 대체되지 않도록 설정된 컴포넌트를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 제1 컴포넌트, 적어도 하나의 제2 컴포넌트 및 적어도 하나의 제3 컴포넌트를 확인할 때, 복수의 뷰들 중 제1 타입의 적어도 하나의 제1 뷰, 제2 타입의 적어도 하나의 제2 뷰 및 제3 타입의 적어도 하나의 제3 뷰를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 제1 컴포넌트, 적어도 하나의 제2 컴포넌트 및 적어도 하나의 제3 컴포넌트를 확인할 때, 복수의 노드들 중 제1 타입의 적어도 하나의 제1 노드, 제2 타입의 적어도 하나의 제2 노드 및 제3 타입의 적어도 하나의 제3 노드를 확인할 수 있다.
S1060 단계에서, 전자 장치는 제1 도메인에서의 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인할 수 있다.
일 실시 예에 따르면, 전자 장치는 커버리지 비율을 확인할 때, 복수의 컴포넌트들 중 적어도 하나의 제3 컴포넌트를 필터링(filtering out)하고, 적어도 하나의 제1 컴포넌트의 수 및 적어도 하나의 제2 컴포넌트의 수를 확인하며, 적어도 하나의 제1 컴포넌트의 수 및 적어도 하나의 제2 컴포넌트의 수에 기초하여, 커버리지 비율을 결정할 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 제1 컴포넌트의 수 및 적어도 하나의 제2 컴포넌트의 수를 확인할 때, 적어도 하나의 제1 뷰의 수 및 적어도 하나의 제2 뷰의 수를 확인하고, 커버리지 비율은, 적어도 하나의 제1 뷰의 수를 적어도 하나의 제1 뷰의 수와 적어도 하나의 제2 뷰의 수의 합으로 나눔으로써 획득된 값으로 결정될 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 제1 컴포넌트의 수 및 적어도 하나의 제2 컴포넌트의 수를 확인할 때, 적어도 하나의 제1 노드의 호출 횟수 및 적어도 하나의 제2 노드의 호출 횟수를 확인하고, 커버리지 비율은, 적어도 하나의 제1 노드의 호출 횟수를 적어도 하나의 제1 노드의 호출 횟수와 적어도 하나의 제2 노드의 호출 횟수의 합으로 나눔으로써 획득된 값으로 결정될 수 있다.
일 실시 예에 따르면, 커버리지 비율은, 적어도 하나의 제1 컴포넌트 및 적어도 하나의 제2 컴포넌트 각각이 하나 이상의 페이지에서 차지하는 면적, 하나 이상의 페이지 내 적어도 하나의 제1 컴포넌트 및 적어도 하나의 제2 컴포넌트 각각의 위치 및 적어도 하나의 제1 컴포넌트 및 적어도 하나의 제2 컴포넌트 각각이 사용자에게 노출되는 시간 중 적어도 하나를 더 고려하여 결정될 수 있다.
일 실시 예에 따르면, 커버리지 비율은, 적어도 하나의 제1 컴포넌트의 수가 많을수록, 적어도 하나의 제1 컴포넌트가 차지하는 면적이 클수록, 적어도 하나의 제1 컴포넌트의 위치가 하나 이상의 페이지에 중앙에 가까울수록 또는 적어도 하나의 제1 컴포넌트가 노출되는 시간이 길수록, 보다 높게 결정될 수 있다.
S1080 단계에서, 전자 장치는 커버리지 비율에 관한 정보를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치는 커버리지 비율에 관한 정보를 제공할 때, 복수의 뷰들의 트리 뷰에 기초하여, 적어도 하나의 제2 뷰의 종속 관계에 관한 정보를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치는 커버리지 비율에 관한 정보를 제공할 때, 복수의 노드들의 호출 그래프에 기초하여, 적어도 하나의 제2 노드의 호출 관계에 관한 정보를 제공할 수 있다.
도 11은 일 실시 예에 따른 전자 장치(100)의 블록도를 나타낸다.
전자 장치(100)는 일 실시 예에 따라, 트랜시버(transceiver)(1120), 메모리(1140) 및 프로세서(processor)(1160)를 포함할 수 있다. 도 11에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 11에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 실시 예에서 트랜시버(1120)는 통신부(communication device)에 포함될 수 있다. 또한, 실시 예에서 프로세서(1160)는 제어부(controller)에 포함될 수 있다.
트랜시버(1120)는 유/무선 통신을 수행하기 위한 장치로서, 외부의 전자 장치와 통신할 수 있다. 외부의 전자 장치는 단말 또는 서버가 될 수 있다. 또한, 트랜시버(1120)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있다.
프로세서(1160)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(1160)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 프로세서(1160)는 메모리(1140)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 프로세서(1160)는 메모리를 포함할 수 있는 바, 프로세서(1160)는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다.
프로세서(1160)는 애플리케이션에 관한 정보를 획득하고, 애플리케이션에 관한 정보에 기초하여, 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하고, 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하고, 제1 도메인에서의 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하고, 커버리지 비율에 관한 정보를 제공할 수 있다.
전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (13)

  1. 전자 장치의 정보 제공 방법에 있어서,
    애플리케이션에 관한 정보를 획득하는 단계;
    상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계;
    상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하는 단계;
    상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하는 단계; 및
    상기 커버리지 비율에 관한 정보를 제공하는 단계를 포함하고,
    상기 제1 타입의 컴포넌트는 설정된 하나 이상의 컴포넌트에 매칭되는 컴포넌트를 포함하고,
    상기 제2 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않으나 상기 하나 이상의 컴포넌트로 대체되도록 설정된 컴포넌트를 포함하고,
    상기 제3 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않고 상기 하나 이상의 컴포넌트로 대체되지 않도록 설정된 컴포넌트를 포함하는, 정보 제공 방법.
  2. 삭제
  3. 전자 장치의 정보 제공 방법에 있어서,
    애플리케이션에 관한 정보를 획득하는 단계;
    상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계;
    상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하는 단계;
    상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하는 단계; 및
    상기 커버리지 비율에 관한 정보를 제공하는 단계를 포함하고,
    상기 커버리지 비율을 확인하는 단계는,
    상기 복수의 컴포넌트들 중 상기 적어도 하나의 제3 컴포넌트를 필터링(filtering out)하는 단계;
    상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계; 및
    상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수에 기초하여, 상기 커버리지 비율을 결정하는 단계를 포함하는, 정보 제공 방법.
  4. 제3 항에 있어서,
    상기 애플리케이션에 관한 정보는 XML(extensible markup language) 파일을 포함하고,
    상기 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계는, 상기 XML 파일을 파싱함으로써, 상기 하나 이상의 페이지에 표시되는 복수의 뷰들의 트리 뷰(tree view)를 생성하는 단계를 포함하고,
    상기 적어도 하나의 제1 컴포넌트, 상기 적어도 하나의 제2 컴포넌트 및 상기 적어도 하나의 제3 컴포넌트를 확인하는 단계는, 상기 복수의 뷰들 중 상기 제1 타입의 적어도 하나의 제1 뷰, 상기 제2 타입의 적어도 하나의 제2 뷰 및 상기 제3 타입의 적어도 하나의 제3 뷰를 확인하는 단계를 포함하는, 정보 제공 방법.
  5. 제4 항에 있어서,
    상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계는, 상기 적어도 하나의 제1 뷰의 수 및 상기 적어도 하나의 제2 뷰의 수를 확인하는 단계를 포함하고,
    상기 커버리지 비율은, 상기 적어도 하나의 제1 뷰의 수를 상기 적어도 하나의 제1 뷰의 수와 상기 적어도 하나의 제2 뷰의 수의 합으로 나눔으로써 획득된 값으로 결정되는, 정보 제공 방법.
  6. 제4 항에 있어서, 상기 커버리지 비율에 관한 정보를 제공하는 단계는,
    상기 복수의 뷰들의 트리 뷰에 기초하여, 상기 적어도 하나의 제2 뷰의 종속 관계에 관한 정보를 제공하는 단계를 포함하는, 정보 제공 방법.
  7. 제3 항에 있어서,
    상기 애플리케이션에 관한 정보는 애플리케이션에 관한 코드를 포함하고,
    상기 복수의 컴포넌트들 간의 관계 그래프를 생성하는 단계는, 상기 애플리케이션에 관한 코드를 파싱함으로써, 상기 하나 이상의 페이지에 대응하는 복수의 노드들의 호출 그래프(call graph)를 생성하는 단계를 포함하고,
    상기 적어도 하나의 제1 컴포넌트, 상기 적어도 하나의 제2 컴포넌트 및 상기 적어도 하나의 제3 컴포넌트를 확인하는 단계는, 상기 복수의 노드들 중 상기 제1 타입의 적어도 하나의 제1 노드, 상기 제2 타입의 적어도 하나의 제2 노드 및 상기 제3 타입의 적어도 하나의 제3 노드를 확인하는 단계를 포함하는, 정보 제공 방법.
  8. 제7 항에 있어서,
    상기 적어도 하나의 제1 컴포넌트의 수 및 상기 적어도 하나의 제2 컴포넌트의 수를 확인하는 단계는, 상기 적어도 하나의 제1 노드의 호출 횟수 및 상기 적어도 하나의 제2 노드의 호출 횟수를 확인하는 단계를 포함하고,
    상기 커버리지 비율은, 상기 적어도 하나의 제1 노드의 호출 횟수를 상기 적어도 하나의 제1 노드의 호출 횟수와 상기 적어도 하나의 제2 노드의 호출 횟수의 합으로 나눔으로써 획득된 값으로 결정되는, 정보 제공 방법.
  9. 제7 항에 있어서, 상기 커버리지 비율에 관한 정보를 제공하는 단계는,
    상기 복수의 노드들의 호출 그래프에 기초하여, 상기 적어도 하나의 제2 노드의 호출 관계에 관한 정보를 제공하는 단계를 포함하는, 정보 제공 방법.
  10. 제3 항에 있어서, 상기 커버리지 비율은,
    상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각이 상기 하나 이상의 페이지에서 차지하는 면적;
    상기 하나 이상의 페이지 내 상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각의 위치; 및
    상기 적어도 하나의 제1 컴포넌트 및 상기 적어도 하나의 제2 컴포넌트 각각이 사용자에게 노출되는 시간 중 적어도 하나를 더 고려하여 결정되는, 정보 제공 방법.
  11. 제10 항에 있어서, 상기 커버리지 비율은,
    상기 적어도 하나의 제1 컴포넌트의 수가 많을수록, 상기 적어도 하나의 제1 컴포넌트가 차지하는 면적이 클수록, 상기 적어도 하나의 제1 컴포넌트의 위치가 상기 하나 이상의 페이지에 중앙에 가까울수록 또는 상기 적어도 하나의 제1 컴포넌트가 노출되는 시간이 길수록, 보다 높게 결정되는, 정보 제공 방법.
  12. 제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  13. 전자 장치로서,
    트랜시버(transceiver);
    메모리; 및
    프로세서(processor)를 포함하고, 상기 프로세서는,
    애플리케이션에 관한 정보를 획득하고,
    상기 애플리케이션에 관한 정보에 기초하여, 상기 애플리케이션의 제1 도메인 내 하나 이상의 페이지에 대응하는 복수의 컴포넌트들 간의 관계 그래프를 생성하고,
    상기 복수의 컴포넌트들 중 제1 타입의 적어도 하나의 제1 컴포넌트, 제2 타입의 적어도 하나의 제2 컴포넌트 및 제3 타입의 적어도 하나의 제3 컴포넌트를 확인하고,
    상기 제1 도메인에서의 상기 적어도 하나의 제1 컴포넌트의 커버리지(coverage) 비율을 확인하고,
    상기 커버리지 비율에 관한 정보를 제공하고,
    상기 제1 타입의 컴포넌트는 설정된 하나 이상의 컴포넌트에 매칭되는 컴포넌트를 포함하고,
    상기 제2 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않으나 상기 하나 이상의 컴포넌트로 대체되도록 설정된 컴포넌트를 포함하고,
    상기 제3 타입의 컴포넌트는 상기 하나 이상의 컴포넌트에 매칭되지 않고 상기 하나 이상의 컴포넌트로 대체되지 않도록 설정된 컴포넌트를 포함하는, 전자 장치.
KR1020230101991A 2023-08-04 2023-08-04 전자 장치 및 그의 정보 제공 방법 KR102653900B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230101991A KR102653900B1 (ko) 2023-08-04 2023-08-04 전자 장치 및 그의 정보 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230101991A KR102653900B1 (ko) 2023-08-04 2023-08-04 전자 장치 및 그의 정보 제공 방법

Publications (1)

Publication Number Publication Date
KR102653900B1 true KR102653900B1 (ko) 2024-04-03

Family

ID=90662274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230101991A KR102653900B1 (ko) 2023-08-04 2023-08-04 전자 장치 및 그의 정보 제공 방법

Country Status (1)

Country Link
KR (1) KR102653900B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107990A (ja) * 2006-10-24 2008-05-08 Ricoh Co Ltd 情報処理装置、カバレッジ計測方法及びカバレッジ計測プログラム
KR20180009589A (ko) * 2016-07-19 2018-01-29 주식회사 파수닷컴 프로그램 분석 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107990A (ja) * 2006-10-24 2008-05-08 Ricoh Co Ltd 情報処理装置、カバレッジ計測方法及びカバレッジ計測プログラム
KR20180009589A (ko) * 2016-07-19 2018-01-29 주식회사 파수닷컴 프로그램 분석 장치 및 방법

Similar Documents

Publication Publication Date Title
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US11249734B2 (en) Tri-affinity model driven method and platform for authoring, realizing, and analyzing a cross-platform application
KR101368068B1 (ko) 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체
KR102078753B1 (ko) 화면 구성 방법 및 그 전자 장치
US20160162128A1 (en) System and method for configuring action buttons displayed in a gui
EP2642394A1 (en) Test device
US9280319B2 (en) Integrated visualization for modeled customizations
CN105335132B (zh) 一种自定义应用程序功能的方法、装置以及***
US8495566B2 (en) Widget combos: a widget programming model
JP6750124B2 (ja) 端末装置、ui拡張方法及びui拡張プログラム
KR20110090651A (ko) 휴대용 단말기에서 사용자 적응형 애플리케이션 생성 방법 및 장치
Krogstie et al. Mobile information systems–research challenges on the conceptual and logical level
KR102653900B1 (ko) 전자 장치 및 그의 정보 제공 방법
US8719704B2 (en) Seamless integration of additional functionality into enterprise software without customization or apparent alteration of same
US20150113498A1 (en) Modeling customizations to a computer system without modifying base elements
JP6304433B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
US9292260B2 (en) Method and system for implementing a pattern viewer
CN114489607A (zh) 跨栈应用处理与页面渲染方法、装置、设备及存储介质
CN110058893B (zh) 一种应用程序控件的展示方法和装置
US20240193356A1 (en) Conditional validation for view builder
KR102614650B1 (ko) 전자 장치 및 그의 api 관리 방법
US20240202432A1 (en) Conditional validation for view builder
CN109558551A (zh) 文件预览的方法、装置、存储介质和电子设备
CN115309376B (zh) 一种应用创建方法、装置、电子设备及存储介质
KR102679462B1 (ko) 전자 장치 및 그의 사용자 인터페이스를 제공하는 방법