JP2024030005A - Screen design information generation system, screen design information generation method, and computer program - Google Patents

Screen design information generation system, screen design information generation method, and computer program Download PDF

Info

Publication number
JP2024030005A
JP2024030005A JP2022132522A JP2022132522A JP2024030005A JP 2024030005 A JP2024030005 A JP 2024030005A JP 2022132522 A JP2022132522 A JP 2022132522A JP 2022132522 A JP2022132522 A JP 2022132522A JP 2024030005 A JP2024030005 A JP 2024030005A
Authority
JP
Japan
Prior art keywords
screen
information
snippet
event
design information
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2022132522A
Other languages
Japanese (ja)
Inventor
大二郎 村田
克己 河合
淳 前岡
玄太 是木
仁 芳ケ迫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2022132522A priority Critical patent/JP2024030005A/en
Publication of JP2024030005A publication Critical patent/JP2024030005A/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】画面部品を含む画面ページの画面設計情報を効率的に作成できる画面設計情報生成システムを提供すること。【解決手段】画面ページの画面設計情報を生成する画面設計情報生成システム1であって、画面ページには、所定イベントに関連付けられる画面部品が少なくとも一つ含まれており、既存画面ページ管理情報は、既存の画面ページに含まれる画面部品間の構成情報と、所定イベントが発生した場合に実行される一連の処理とを対応付けて記憶しており、プロセッサは、作成対象の画面ページ(111)を取得し、取得された作成対象の画面ページに含まれる画面部品間の構成情報を取得し、既存画面ページ管理情報に基づいて、作成対象の画面ページに含まれる画面部品について所定イベントが発生した場合に呼び出される一連の処理の候補を生成する(110)。【選択図】図1An object of the present invention is to provide a screen design information generation system that can efficiently create screen design information for a screen page including screen components. [Solution] A screen design information generation system 1 that generates screen design information for a screen page, in which the screen page includes at least one screen component associated with a predetermined event, and existing screen page management information is , the configuration information between screen parts included in an existing screen page and a series of processes to be executed when a predetermined event occurs are stored in association with each other, and the processor selects the screen page to be created (111). , obtain the configuration information between the screen parts included in the obtained screen page to be created, and based on the existing screen page management information, determine whether a predetermined event has occurred for the screen parts included in the screen page to be created. 110). [Selection diagram] Figure 1

Description

本発明は、画面設計情報生成システム、画面設計情報生成方法およびコンピュータプログラムに関する。 The present invention relates to a screen design information generation system, a screen design information generation method, and a computer program.

例えばオンラインショップ、予約ページ、ニュースサイト、生産管理システムの提供するページなど、ウェブページとして知られる画面ページが日々生産されている。画面ページの中には、ユーザにより操作される画面部品を含むページがある。ユーザが画面部品を操作するとイベントが発生し、所定の一連の処理が呼び出されて実行される。 For example, screen pages known as web pages are produced every day, such as online shops, reservation pages, news sites, and pages provided by production management systems. Among the screen pages, there are pages that include screen components that are operated by the user. When a user operates a screen component, an event occurs, and a predetermined series of processes are called and executed.

なお、画面部品を含む画面ページの作成に関する技術ではないが、ソフトウェアを効率的に作成する技術として特許文献1または特許文献2が知られている。 Note that Patent Document 1 or Patent Document 2 is known as a technique for efficiently creating software, although it is not a technique for creating a screen page including screen components.

特許第5456707号公報Patent No. 5456707 特許第4846483号公報Patent No. 4846483

ユーザが画面部品を操作したときに呼び出される一連の処理を毎回検討して定義するのでは手間がかかり、一連の処理に係わるソースコードの作成に時間を要し、画面ページの生産効率(作業効率)が低い。 It takes time to consider and define a series of processes that are called every time a user operates a screen component, and it takes time to create source code for a series of processes. ) is low.

特許文献1では、機能に関連づいた用語を元に確率情報を生成し、機能とソースの関係を示すトレーサビリティマトリックスを作成する。もしも画面ページの作成効率化に特許文献1を使用できたとしても、単語に基づいて画面ページのソースコードを解析できるにすぎない。しかし実際には、より使いやすいユーザインターフェース、直感的に利用可能なユーザインターフェースが望まれており、画面デザイン(ユーザインターフェースのデザイン)には暗黙の了解があることが知られている。或るイベントが発生したときに呼び出されるべき一連の処理は、画面部品の表示位置、および他の画面部品との位置関係といった画面構成に依存して定まることが多い。したがって、画面部品の名称だけでは画面部品間の構成を把握することができないため、一連の処理を抽出できない。 In Patent Document 1, probability information is generated based on terms associated with functions, and a traceability matrix indicating the relationship between functions and sources is created. Even if Patent Document 1 could be used to improve the efficiency of screen page creation, it would only be possible to analyze the source code of the screen page based on words. However, in reality, a user interface that is easier to use and more intuitively usable is desired, and it is known that there is a tacit understanding of screen design (design of user interface). A series of processes to be called when a certain event occurs is often determined depending on the screen configuration, such as the display position of the screen component and its positional relationship with other screen components. Therefore, it is not possible to understand the structure between screen parts only by the name of the screen parts, and therefore a series of processes cannot be extracted.

特許文献2は、部品のカテゴリを指定してリポジトリを検索し、実行カバレッジが閾値を越える部品を開発者に推薦する。仮に特許文献2を画面ページの作成効率化に利用できたとしても、画面部品名やイベント名をカテゴリ化して、検索対象の一つの処理についてのソースコードを検索できるだけである。しかし実際には、あるイベントが発生すると複数の処理が所定の順序で実行されることが多い。特許文献2の技術では、画面部品間の構成を把握できない上に、実行の順番まで考慮して処理を抽出することはできない。 Patent Document 2 specifies a component category, searches a repository, and recommends components whose execution coverage exceeds a threshold to a developer. Even if Patent Document 2 could be used to improve the efficiency of creating screen pages, it would only be possible to categorize screen component names and event names and search for source code for one process to be searched. However, in reality, when a certain event occurs, multiple processes are often executed in a predetermined order. With the technique of Patent Document 2, it is not possible to grasp the configuration between screen components, and it is also not possible to extract processes by considering the order of execution.

本発明は、上述の課題に鑑みてなされたもので、その目的は、画面部品を含む画面ページの画面設計情報を効率的に作成できるようにした画面設計情報生成システム、画面設計情報生成方法およびコンピュータプログラムを提供することにある。 The present invention has been made in view of the above-mentioned problems, and its objects are a screen design information generation system, a screen design information generation method, and a screen design information generation system that can efficiently create screen design information of a screen page including screen components. Its purpose is to provide computer programs.

上記課題を解決すべく、本発明の一つの観点に画面設計情報生成システムは、画面ページの画面設計情報を生成する画面設計情報生成システムであって、画面ページには、所定イベントに関連付けられる画面部品が少なくとも一つ含まれており、少なくとも一つのプロセッサと、プロセッサにより使用される少なくとも一つのメモリと、を備え、メモリは、画面ページに関する動作を規定する画面設計情報を生成する所定のコンピュータプログラムと、既存の画面ページに関する既存画面ページ管理情報とを記憶しており、既存画面ページ管理情報は、既存の画面ページに含まれる画面部品間の構成情報と、所定イベントが発生した場合に実行される一連の処理とを対応付けて記憶しており、プロセッサは、所定のコンピュータプログラムを実行することにより、作成対象の画面ページを取得し、取得された作成対象の画面ページに含まれる画面部品間の構成情報を取得し、既存画面ページ管理情報に基づいて、作成対象の画面ページに含まれる画面部品について所定イベントが発生した場合に呼び出される一連の処理の候補を生成する。 In order to solve the above problems, one aspect of the present invention is a screen design information generation system that generates screen design information of a screen page, and the screen page includes a screen associated with a predetermined event. at least one component including at least one processor and at least one memory used by the processor, the memory being configured to carry out a predetermined computer program for generating screen design information that defines operations regarding the screen page. and existing screen page management information regarding existing screen pages. The processor acquires a screen page to be created by executing a predetermined computer program, and stores a series of processes in association with each other in the screen page to be created. , and generates candidates for a series of processes to be called when a predetermined event occurs for a screen component included in the screen page to be created, based on the existing screen page management information.

本発明によれば、作成対象の画面ページにおける画面部品間の構成情報に基づいて既存画面ページ管理情報を参照することにより、所定イベントが発生した場合に呼び出される一連の処理の候補を生成することができる。 According to the present invention, candidates for a series of processes to be called when a predetermined event occurs are generated by referring to existing screen page management information based on configuration information between screen components in a screen page to be created. Can be done.

画面設計情報生成システムの概要を示す図である。FIG. 1 is a diagram showing an overview of a screen design information generation system. 画面設計情報生成システムのハードウェア構成を示す図である。1 is a diagram showing a hardware configuration of a screen design information generation system. 画面設計情報生成システムに記憶されるコンピュータプログラムの例を示す図である。FIG. 2 is a diagram showing an example of a computer program stored in the screen design information generation system. 画面設計情報生成システムに記憶される情報の例を示す図である。It is a diagram showing an example of information stored in the screen design information generation system. 画面設計情報生成システムの機能間の関係と全体の流れを示す図である。FIG. 2 is a diagram showing the relationship between functions and the overall flow of the screen design information generation system. 既存のソースコード情報の例である。This is an example of existing source code information. 既存の画面構成情報(画面HTML情報)の例である。This is an example of existing screen configuration information (screen HTML information). 既存の画面構成情報により表示される画面の例である。This is an example of a screen displayed based on existing screen configuration information. スニペット情報の例である。This is an example of snippet information. スニペット間の依存関係情報の例である。This is an example of dependency information between snippets. ログ情報の例である。This is an example of log information. カバレッジ情報の例である。This is an example of coverage information. スニペット間の類似度を管理する情報の例である。This is an example of information that manages similarity between snippets. 画面部品情報の例である。This is an example of screen component information. スニペットの利用状況を示す情報の例である。This is an example of information indicating usage status of a snippet. フロー候補の一覧を示す情報の例である。This is an example of information showing a list of flow candidates. 新規に作成される画面の構成情報(画面HTML情報)の例である。This is an example of configuration information (screen HTML information) of a newly created screen. 新規に作成される画面構成情報により表示される画面の例である。This is an example of a screen displayed based on newly created screen configuration information. イベントフロー候補情報の例である。This is an example of event flow candidate information. 画面設計情報生成システムのユーザに提供される情報の例である。It is an example of the information provided to the user of the screen design information generation system. イベントフロー候補の情報を用いて新たに作成されるソースコード情報の例である。This is an example of source code information newly created using information on event flow candidates. 既存のソースコードからスニペットを抽出する処理を示すフローチャートである。It is a flowchart which shows the process of extracting a snippet from existing source code. ログを解析する処理を示すフローチャートである。It is a flowchart which shows the process of analyzing a log. 類似度を判定する処理を示すフローチャートである。It is a flowchart which shows the process which determines a degree of similarity. 画面部品情報を抽出する処理を示すフローチャートである。3 is a flowchart illustrating processing for extracting screen component information. スニペットの利用状況を作成する処理を示すフローチャートである。12 is a flowchart illustrating a process for creating usage status of a snippet. フロー候補を生成する処理を示すフローチャートである。3 is a flowchart illustrating processing for generating flow candidates. 画面部品フローを生成する処理を示すフローチャートである。3 is a flowchart illustrating processing for generating a screen component flow. フロー候補をコンピュータ端末へ表示させる処理のフローチャートである。It is a flowchart of the process of displaying a flow candidate on a computer terminal. ソースコード情報を生成する処理を示すフローチャートである。3 is a flowchart illustrating processing for generating source code information.

以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、プレゼンテーション層のアプリケーションプログラム(以下、アプリケーション)を効率的に作成できるようにしたシステムおよび方法を開示する。プレゼンテーション層のアプリケーションは、画面部品への操作によりイベントが発生すると、例えば、検索、データ取得、画面作成、画面更新などの所定の一連の処理を実行する。 Embodiments of the present invention will be described below based on the drawings. This embodiment discloses a system and method that enable efficient creation of presentation layer application programs (hereinafter referred to as applications). When an event occurs due to an operation on a screen component, the presentation layer application executes a predetermined series of processes such as search, data acquisition, screen creation, and screen update.

本実施形態では、既存ソースコードを分割し、イベント及び画面部品と紐づけて、コード(スニペット)を生成する。そして、本実施形態では、スニペットに紐づいた画面のイベント及び画面の構成要素(画面部品)を、作成する新画面の画面部品のイベントと文字列情報と位置関係とを照合することにより、新画面のイベントに対して、一つ以上のスニペットからなるイベントフローを作る。ユーザはイベントフローを参考にして、新画面を作成することができる。 In this embodiment, existing source code is divided and linked to events and screen components to generate code (snippets). In this embodiment, the screen events and screen components (screen parts) associated with the snippet are compared with the events, character string information, and positional relationships of the screen parts of the new screen to be created. Create an event flow consisting of one or more snippets for screen events. The user can create a new screen by referring to the event flow.

これにより本実施形態によれば、画面に多数の画面部品がある場合に、暗黙的な画面部品間の関係を考えてイベントフローをフルスクラッチで作成する必要がなく、比較的簡単に新画面(表示と内部処理を含む。)を作成することができる。 As a result, according to this embodiment, when there are many screen parts on a screen, there is no need to consider the implicit relationships between screen parts and create an event flow from scratch, and it is relatively easy to create a new screen ( (including display and internal processing).

本実施形態では、実績のある既存ソースコード情報を使って、作成対象の新画面に似た画面のソースコードを抽出して再利用することができるため、ユーザは効率的に新画面を作成することができる。 In this embodiment, the source code of a screen similar to the new screen to be created can be extracted and reused using existing source code information with a proven track record, allowing the user to efficiently create a new screen. be able to.

本実施形態では、後述のように、既存システムのソースコードと既存システムの画面構成とを解析しておき、次に、既存システムの画面とイベントとに関する解析結果を利用して、新システムの画面に適用されるイベントフローの生成を支援する。 In this embodiment, as described later, the source code of the existing system and the screen configuration of the existing system are analyzed, and then the new system screen is created using the analysis results regarding the existing system screen and events. Supports the generation of event flows that are applied to

準備段階では、既存システムで使用されたソースコードを解析することにより、画面部品間の構成情報と出現確率を求め、ソースコードの中から複数のスニペットを抽出し、抽出されたスニペットの実行順序を考慮してイベントフローの候補を生成する。新画面の生成支援段階では、新画面の画面構成情報と既存システムの画面構成情報を照合し、似た画面構成に関連するスニペットを抽出し、抽出されたスニペットの依存関係に基づき各スニペットを所定の順番に並べてイベントフローを生成する。 In the preparation stage, the source code used in the existing system is analyzed to find the configuration information and appearance probability between screen components, extract multiple snippets from the source code, and determine the execution order of the extracted snippets. Generate event flow candidates by taking this into account. In the new screen generation support stage, the screen configuration information of the new screen is compared with the screen configuration information of the existing system, snippets related to similar screen configurations are extracted, and each snippet is specified based on the dependencies of the extracted snippets. Generate an event flow by arranging them in this order.

既存ソースコードからスニペットを抽出する際に、スニペット間の類似度を判定し、所定値以上類似するスニペットは統合してもよい。画面構成とイベントの組み合わせに対応するスニペットが複数検出された場合は、実行された実績が他のスニペットよりも多いスニペットを選択することができる。 When extracting snippets from existing source code, the degree of similarity between snippets may be determined, and snippets that are similar by a predetermined value or more may be integrated. If multiple snippets corresponding to the combination of screen configuration and event are detected, the snippet that has been executed more often than other snippets can be selected.

本実施形態では、以下のように用語を定義する。ただし、以下の定義以外に定義可能である。 In this embodiment, terms are defined as follows. However, it is possible to define other than the definition below.

「既存ソースコード」とは、既存システム(既存ソフトウェア)において、画面部品とイベントとに紐づけられた一連の処理が記述されたソースコードである。 “Existing source code” is source code in which a series of processes linked to screen components and events are described in an existing system (existing software).

「スニペット依存関係」とは、ソースコードからスニペットを分割するときに、ソースコードの構造情報を用いて依存関係を抽出した情報である。依存関係には、例えば、時系列の順番、エラーフローなどがある。 "Snippet dependency relationship" is information obtained by extracting dependency relationships using the structural information of the source code when dividing snippets from the source code. Dependencies include, for example, chronological order, error flow, and the like.

「カバレッジ」とは、ソースコードの各行の動作時に通過したか否かの情報である。 "Coverage" is information about whether or not each line of source code is passed during operation.

「スニペット」とは、何らかの観点で分割されたコードスニペットとイベント情報と画面部品(画面HTML情報)の結合体である。スニペットは「コードスニペット」に対応する。同一または所定値以上類似するスニペットは、スニペット利用状況情報にて一つのスニペットへ統合される。 A "snippet" is a combination of code snippets, event information, and screen components (screen HTML information) that are divided from some point of view. Snippet corresponds to "code snippet". Snippets that are the same or similar by more than a predetermined value are integrated into one snippet based on the snippet usage information.

「スニペット類似度」とは、スニペット同士が似ている度合いを示す。例えば、ソースコードから抽出されたすべてのスニペットを表の縦軸と横軸に並べて、セルに類似度を記載することにより管理することができる。 "Snippet similarity" indicates the degree to which snippets are similar to each other. For example, all the snippets extracted from the source code can be arranged on the vertical and horizontal axes of a table and managed by writing the degree of similarity in the cells.

「スニペット利用状況情報」とは、スニペットごとに利用状況を管理する情報である。スニペット利用状況情報は、スニペットの利用量、類似スニペット、関連するイベント、関連する画面部品を整理した情報を含む。スニペット統合が起きた場合は、イベントの情報および画面部品の情報が併記される。 "Snippet usage information" is information that manages usage status for each snippet. The snippet usage information includes information that organizes the amount of usage of snippets, similar snippets, related events, and related screen components. When snippet integration occurs, event information and screen component information are written together.

「フロー候補一覧」とは、過去に作成された既存システム(既存システムの画面)から抽出可能なイベントフロー候補の一覧である。 The "flow candidate list" is a list of event flow candidates that can be extracted from existing systems (screens of existing systems) created in the past.

「イベントフロー」とは、イベントが発生すると呼び出される一連の処理である。イベントフローは「画面設計情報」の例である。イベントは、例えば「検索ボタン」「ページ切替ボタン」「画面更新ボタン」「編集ボタン」などの画面部品がユーザにより操作されると発生する。 An "event flow" is a series of processes that are called when an event occurs. The event flow is an example of "screen design information". An event occurs when a user operates a screen component such as a "search button," "page switching button," "screen update button," or "edit button," for example.

「新規画面HTML」とは、画面設計情報の作成対象である新たな画面の画面構成を規定するコンピュータプログラムである。 "New screen HTML" is a computer program that defines the screen configuration of a new screen for which screen design information is to be created.

「フロー」とは、イベントフローの候補から選択され、選択されたイベントフローに基づいて作成されるイベントフローである。 A “flow” is an event flow selected from event flow candidates and created based on the selected event flow.

図1~図30を用いて第1実施例を説明する。図1は、画面設計情報生成システム1の概要を示す。 A first embodiment will be described using FIGS. 1 to 30. FIG. 1 shows an overview of a screen design information generation system 1.

画面設計情報生成システム1は、既存ソフトウェア資産記憶部10と電気的に接続されている。既存ソフトウェア資産記憶部10は、過去に作成された情報処理システム(既存システム)についての既存ソースコードの情報101と既存画面ページの画面HTML(Hyper Text Markup Language)の情報102とを記憶する。以下、既存ソースコード101、既存画面HTML102と呼ぶことがある。 The screen design information generation system 1 is electrically connected to the existing software asset storage section 10. The existing software asset storage unit 10 stores existing source code information 101 and screen HTML (Hyper Text Markup Language) information 102 of existing screen pages regarding information processing systems (existing systems) created in the past. Hereinafter, this may be referred to as the existing source code 101 and the existing screen HTML 102.

画面設計情報生成システム1は、図2で後述するように計算機上に構成される。画面設計情報生成システム1は、例えば、スニペット抽出部151、ログ解析部152、スニペット類似度判定部153、画面部品情報抽出部154、スニペット利用状況作成部155、フロー候補生成部110、画面部品フロー生成部157を機能として備える。画面設計情報生成システム1は、図1に示す各機能の全部を備えている必要はない。さらに、画面設計情報生成システム1は、図2~図5で後述するように、図1に示されていない機能を備えることもできる。 The screen design information generation system 1 is configured on a computer as described later with reference to FIG. The screen design information generation system 1 includes, for example, a snippet extraction unit 151, a log analysis unit 152, a snippet similarity determination unit 153, a screen component information extraction unit 154, a snippet usage status creation unit 155, a flow candidate generation unit 110, and a screen component flow. A generation unit 157 is provided as a function. The screen design information generation system 1 does not need to include all of the functions shown in FIG. Furthermore, the screen design information generation system 1 can also include functions not shown in FIG. 1, as will be described later with reference to FIGS. 2 to 5.

図1では、画面設計情報生成システム1の概略動作を説明する。詳細な動作は図5、図22~図30で後述する。 In FIG. 1, a schematic operation of the screen design information generation system 1 will be explained. The detailed operation will be described later with reference to FIG. 5 and FIGS. 22 to 30.

既存ソフトウェア資産記憶部10は、既存システムのソースコードおよび画面HTML情報などを記憶するレポジトリである。既存ソフトウェア資産記憶部10に記憶された既存ソースコードの実行ログ105は、ログ解析部152により解析され、その解析結果はスニペット利用状況作成部155に入力される。 The existing software asset storage unit 10 is a repository that stores source code, screen HTML information, etc. of an existing system. The existing source code execution log 105 stored in the existing software asset storage unit 10 is analyzed by the log analysis unit 152, and the analysis result is input to the snippet usage status creation unit 155.

スニペット抽出部151は、既存ソースコード101からイベントに紐づく処理を分割してスニペット化する。既存ソースコード101からスニペットを抽出する方法には複数ある。 The snippet extraction unit 151 divides the process associated with an event from the existing source code 101 and converts it into snippets. There are multiple methods for extracting snippets from existing source code 101.

例えば、既存ソースコード内のコメントに着目して、イベントに紐づく処理(所定処理)のソースコード片をスニペットとして抽出することができる。例えば、既存ソースコード内の関数に着目して、既存ソースコード内のソースコード片をスニペットとして抽出することもできる。例えば、既存ソースコード内の変数の依存関係に着目して、既存ソースコード内のソースコード片をスニペットとして抽出することもできる。 For example, by focusing on comments in existing source code, a source code fragment of a process (predetermined process) associated with an event can be extracted as a snippet. For example, by focusing on a function in the existing source code, a source code piece in the existing source code can be extracted as a snippet. For example, source code fragments within the existing source code can be extracted as snippets by focusing on the dependency relationships of variables within the existing source code.

上述の方法のいずれか一つまたは複数あるいは全てを使用することで、既存ソースコード101から一つ以上のスニペット103(図5参照)を得ることができる。抽出されたスニペット103は、ソースコード片とイベント情報と画面HTML情報の結合した情報である。 One or more snippets 103 (see FIG. 5) can be obtained from existing source code 101 using any one, more than one, or all of the methods described above. The extracted snippet 103 is information that combines a source code piece, event information, and screen HTML information.

後述のように、抽出された複数のスニペットの中には、依存関係にあるスニペットが含まれていることがある。ソースコードの構造情報を用いることで、どのスニペットの次にどのスニペットが実行されるのかを検出できる。例えば、買物客(画面ページの提供するサービスのユーザ)が商品購入画面で商品を選択し、「カートへ追加」ボタンを操作した場合を説明する。 As described below, the multiple extracted snippets may include snippets that are dependent on each other. By using structural information in the source code, it is possible to detect which snippet is executed after which snippet. For example, a case will be described in which a shopper (user of a service provided by a screen page) selects a product on the product purchase screen and operates the "Add to Cart" button.

買物客の操作対象となる画面部品の一つである「カートへ追加」ボタンが買物客によって操作されると、「カートへ追加」というイベントが発生する。このイベントの発生によって、商品購入画面内の商品一覧表から買物客の選択した商品の個数を取得する処理(第1処理)が実施され、その次にカートの情報を更新させるサービスを呼び出す処理(第2処理)が実施される。 When the shopper operates the "Add to Cart" button, which is one of the screen components to be operated by the shopper, an event called "Add to Cart" occurs. When this event occurs, a process (first process) is executed to obtain the number of products selected by the shopper from the product list on the product purchase screen, and then a process (first process) that calls a service that updates cart information ( 2nd process) is performed.

この実行順序(スニペット間の依存関係)は、抽出元の既存ソースコードに記述された構造情報から検出できる。そこで、画面設計情報生成システム1は、「商品一覧表」という画面部品と「カートへ追加」ボタンという画面部品が同一画面に存在する場合に、「カートへ追加」イベントが発生したならば、第1処理のスニペットを実行させ、次に第2処理のスニペットを実行させるというイベントフローの候補を生成する。プログラマ(画面設計情報生成システム1にとってのユーザ)は、画面設計情報生成システム1から提案されたイベントフローの候補を参考にして、新たな画面に関するソースコードを効率的に作成することができる。新たに作成されたソースコードとそのソースコードに対応する画面HTML情報は、既存ソースコード101および既存画面HTML情報102として、既存ソフトウェア資産記憶部10に記憶される。 This execution order (dependency between snippets) can be detected from structural information written in the existing source code from which to extract. Therefore, in the screen design information generation system 1, when a screen component called "Product List" and a screen component called "Add to Cart" button exist on the same screen, if an "Add to Cart" event occurs, the A candidate event flow is generated that causes a snippet of one process to be executed and then a snippet of a second process to be executed. A programmer (user of the screen design information generation system 1) can efficiently create source code for a new screen by referring to event flow candidates proposed by the screen design information generation system 1. The newly created source code and the screen HTML information corresponding to the source code are stored in the existing software asset storage unit 10 as the existing source code 101 and the existing screen HTML information 102.

ログ解析部152は、ソースコード101の実行ログ105を解析する。例えば、ログ解析部152は、ソースコードの実行時に、ソースコードの各行を何回通過したか(実行されたか)をスニペット毎に算出する。スニペット103の利用量(利用回数、実行実績)を算出できるのであれば、実行ログ105の解析以外の方法を用いてもよい。スニペット103の利用量は、そのスニペットが過去にどれだけの既存システムで使用されたかを示す情報として利用できる。本実施例では、画面部品の位置関係および画面部品の属性から抽出されたスニペットの候補の中から、より多く使用されたスニペットをプログラマへ提供する。 The log analysis unit 152 analyzes the execution log 105 of the source code 101. For example, the log analysis unit 152 calculates, for each snippet, how many times each line of the source code has been passed (or executed) when the source code is executed. Any method other than analyzing the execution log 105 may be used as long as it is possible to calculate the usage amount (number of uses, execution record) of the snippet 103. The usage amount of the snippet 103 can be used as information indicating how many existing systems the snippet has been used in the past. In this embodiment, snippets that are used more frequently are provided to the programmer from among the snippet candidates extracted from the positional relationship of the screen components and the attributes of the screen components.

スニペット類似度判定部153は、スニペット抽出部151で抽出されたスニペット同士の類似度を判定する。類似度が所定値以上のスニペット(同一スニペットを含む。)は一つのスニペットとして統合される。 The snippet similarity determination unit 153 determines the similarity between the snippets extracted by the snippet extraction unit 151. Snippets (including identical snippets) whose similarity is greater than or equal to a predetermined value are integrated as one snippet.

画面部品情報抽出部154は、既存画面HTML情報102から全ての画面部品について画面部品情報を抽出する。画面部品情報には、例えば、同一画面に存在する他の画面部品との位置関係と、画面部品の属性情報とが含まれる。画面情報間の位置関係は、例えば、DOM(Document Object Model)から、または、画面部品の画面上の座標から、求めることができる。画面部品の属性情報は、例えば、画面部品の種類、画面部品のラベル(名称)のいずれかまたは両方を含む。画面部品の種類には、例えば「ボタン」、「表」などがある。「ラベル」には、例えば「検索」、「カートに追加」などがある。 The screen component information extraction unit 154 extracts screen component information for all screen components from the existing screen HTML information 102. The screen component information includes, for example, positional relationships with other screen components existing on the same screen and attribute information of the screen component. The positional relationship between screen information can be determined, for example, from a DOM (Document Object Model) or from the coordinates of screen components on the screen. The attribute information of the screen component includes, for example, the type of the screen component, the label (name) of the screen component, or both. Types of screen parts include, for example, "buttons" and "tables." Examples of "label" include "search" and "add to cart."

スニペット利用状況作成部155は、グループ化されて統合されたスニペットの利用状況に関する情報109(図15で後述)を作成する。スニペット利用状況情報109は、例えば、スニペットが利用された回数(カバレッジ)、そのスニペットに対応するイベント、そのスニペットの前に実行される他のスニペット、そのスニペットに関する画面部品などが記憶される。 The snippet usage status creation unit 155 creates information 109 (described later in FIG. 15) regarding the usage status of grouped and integrated snippets. The snippet usage information 109 stores, for example, the number of times a snippet is used (coverage), an event corresponding to the snippet, other snippets executed before the snippet, screen components related to the snippet, and the like.

フロー候補生成部110は、既存システムの画面から抽出可能なイベントフローを生成する。フロー候補生成部110は、条件に合致するスニペットを抽出して所定の順序に配置することにより、イベントフローの候補を生成する。イベントフローの候補は、少なくとも一つのスニペットを含んでいればよく、必ずしも複数のスニペットを含んでいる必要はない。スニペットを一つだけ含むイベントフロー候補もある。 The flow candidate generation unit 110 generates event flows that can be extracted from the screen of the existing system. The flow candidate generation unit 110 generates event flow candidates by extracting snippets that match the conditions and arranging them in a predetermined order. An event flow candidate only needs to include at least one snippet, and does not necessarily need to include multiple snippets. Some event flow candidates include only one snippet.

例えば、フロー候補生成部110は、イベントフローを構成するスニペットの条件(イベント、イベントに対応する画面部品の属性(名称)、イベントに対応する画面部品と同一画面にある他の画面部品の位置関係)を満たすスニペットのうち、利用量が所定値以上のスニペットをイベントフローの候補を構成するスニペットとして選択する。 For example, the flow candidate generation unit 110 generates conditions for snippets constituting an event flow (events, attributes (names) of screen components corresponding to the event, positional relationships between the screen components corresponding to the event and other screen components on the same screen). Among the snippets that satisfy ), the snippets whose usage amount is greater than or equal to a predetermined value are selected as snippets that constitute event flow candidates.

例えば、「ボタンをクリック」というイベントについて、スニペットA,Bが関連付けられており、スニペットAの方がスニペットBよりも利用量が多い場合は、スニペットAが選択される。さらに、スニペットBの後でスニペットCが発生する確率が高い場合、スニペットAの次にスニペットCを実行するというイベントフロー候補(A→C)が生成される。スニペットCの実行される確率が低い場合は、スニペットAだけが選択され、スニペットAだけを含むイベントフロー候補が生成される。 For example, if snippets A and B are associated with the event "button click" and snippet A is used more than snippet B, then snippet A is selected. Furthermore, if there is a high probability that snippet C will occur after snippet B, an event flow candidate (A→C) in which snippet C is executed next to snippet A is generated. If the probability that snippet C will be executed is low, only snippet A is selected, and an event flow candidate that includes only snippet A is generated.

画面部品フロー生成部157は、新規画面HTML情報111に適合するイベントフロー候補を選択し、選択したイベントフロー候補をコンピュータ端末に表示させることでプログラマへ提供する。 The screen component flow generation unit 157 selects event flow candidates that match the new screen HTML information 111, and provides the selected event flow candidates to the programmer by displaying them on a computer terminal.

図2は、画面設計情報生成システム1のハードウェア構成を示す。画面設計情報生成システム1は、例えば、プロセッサ11、メモリ12、記憶装置13、ユーザインターフェース部14、通信部15を備える計算機として構成される。図中、プロセッサを「CPU」と、ユーザインターフェースを「UI」と、それぞれ表示する。 FIG. 2 shows the hardware configuration of the screen design information generation system 1. The screen design information generation system 1 is configured as a computer including, for example, a processor 11, a memory 12, a storage device 13, a user interface section 14, and a communication section 15. In the figure, the processor is shown as "CPU" and the user interface is shown as "UI".

メモリ12は主記憶装置であり、所定の機能151~158,160を実現するための所定のコンピュータプログラムを記憶する。記憶装置13は補助記憶装置であり、所定の機能151~158,160を実現する際に使用される管理情報とデータベースなどを記憶する。プロセッサ11は「プロセッサ」の一例である。メモリ12および記憶装置13は「メモリ」の一例である。メモリ12の記憶内容と記憶装置13の記憶内容は、図3,図4で後述する。 The memory 12 is a main storage device and stores predetermined computer programs for implementing predetermined functions 151 to 158, 160. The storage device 13 is an auxiliary storage device, and stores management information, databases, etc. used when implementing predetermined functions 151 to 158, 160. Processor 11 is an example of a "processor". Memory 12 and storage device 13 are examples of "memory". The storage contents of the memory 12 and the storage device 13 will be described later with reference to FIGS. 3 and 4.

ユーザインターフェース部14は、画面設計情報生成システム1のユーザであるプログラマとの間で情報を交換する装置である。ユーザインターフェース部14は、キーボードなどの入力装置2と、モニタディスプレイなどの出力装置3とに接続される。入力装置2からの情報は、ユーザインターフェース部14を介して画面設計情報生成システム1に入力される。画面設計情報生成システム1からの情報は、ユーザインターフェース部14を介して出力装置3へ出力される。 The user interface unit 14 is a device that exchanges information with a programmer who is a user of the screen design information generation system 1. The user interface section 14 is connected to an input device 2 such as a keyboard and an output device 3 such as a monitor display. Information from the input device 2 is input to the screen design information generation system 1 via the user interface section 14. Information from the screen design information generation system 1 is output to the output device 3 via the user interface section 14.

通信部15は、画面設計情報生成システム1が他の情報機器と通信するための通信装置である。通信部15は、通信ネットワークCNを介して他の情報機器と双方向通信可能に接続される。 The communication unit 15 is a communication device for the screen design information generation system 1 to communicate with other information devices. The communication unit 15 is connected to other information devices via the communication network CN so as to be able to communicate bidirectionally.

他の情報機器には、例えば、コンピュータ端末4、ストレージシステム5がある。コンピュータ端末4はプログラマの使用する端末であり、ユーザ端末と呼ぶこともできる。プログラマは、コンピュータ端末4を用いて、画面設計情報生成システム1の提供する画面設計情報生成支援サービスを利用し、生成したソースコードを画面設計情報生成システム1へ登録する。コンピュータ端末4は、例えば、プロセッサ、メモリ、ユーザインターフェース部、通信部(いずれも図示せず)を備える。一つの画面設計情報生成システム1に複数のコンピュータ端末4を接続することができる。複数のコンピュータ端末4は共同して新規画面の画面設計情報を作成することもできるし、あるいは、それぞれ別々の新規画面の画面設計情報を作成することもできる。 Other information devices include, for example, a computer terminal 4 and a storage system 5. The computer terminal 4 is a terminal used by a programmer and can also be called a user terminal. Using the computer terminal 4, the programmer registers the generated source code in the screen design information generation system 1 by using the screen design information generation support service provided by the screen design information generation system 1. The computer terminal 4 includes, for example, a processor, a memory, a user interface section, and a communication section (all not shown). A plurality of computer terminals 4 can be connected to one screen design information generation system 1. The plurality of computer terminals 4 can jointly create screen design information for a new screen, or can each create screen design information for a new screen separately.

ストレージシステム5は、例えば、フラッシュメモリ、ハードディスク、磁気テープ、光磁気ディスクなどを備えたファイル共有システムのように構成される。記憶装置13に記憶される情報の一部または全部をストレージシステム5に記憶させてもよい。なお、図示は省略するが、複数の画面設計情報生成システム1が一つのストレージシステム5を共有する構成でもよい。 The storage system 5 is configured like a file sharing system including, for example, a flash memory, a hard disk, a magnetic tape, a magneto-optical disk, and the like. Part or all of the information stored in the storage device 13 may be stored in the storage system 5. Although not shown, a configuration may be adopted in which a plurality of screen design information generation systems 1 share one storage system 5.

記憶媒体MMは、不揮発性メモリまたは電池でバックアップされた揮発性メモリであり、画面設計情報生成システム1に接続することができる。記憶媒体MMは、画面設計情報生成システム1のメモリ12または記憶装置13からコンピュータプログラムまたはデータを読みだして非一時的に記憶することができる。記憶媒体MMを図外の他の計算機に接続し、記憶媒体MMに記憶されたコンピュータプログラムおよびデータを他の計算機のメモリまたは記憶装置(いずれも図示せず)に転送することもできる。 The storage medium MM is a nonvolatile memory or a volatile memory backed up by a battery, and can be connected to the screen design information generation system 1. The storage medium MM can read computer programs or data from the memory 12 or the storage device 13 of the screen design information generation system 1 and store them non-temporarily. It is also possible to connect the storage medium MM to another computer (not shown) and transfer the computer program and data stored in the storage medium MM to the memory or storage device (none of which is shown) of the other computer.

図3は、メモリ12に記憶されるコンピュータプログラムの例を示す。メモリ12には、例えば、スニペット抽出部151、ログ解析部152、類似度判定部153、画面部品情報抽出部154、スニペット利用状況作成部155、フロー候補生成部156、画面部品フロー生成部157、フロー候補表示部158、ソースコード生成部160といった各機能を実現するための所定のコンピュータプログラムが記憶されている。 FIG. 3 shows an example of a computer program stored in memory 12. The memory 12 includes, for example, a snippet extraction unit 151, a log analysis unit 152, a similarity determination unit 153, a screen component information extraction unit 154, a snippet usage status creation unit 155, a flow candidate generation unit 156, a screen component flow generation unit 157, Predetermined computer programs for realizing each function such as a flow candidate display section 158 and a source code generation section 160 are stored.

スニペット抽出部151は、既存ソースコード情報101から所定の観点でスニペット情報103(スニペット103とも呼ぶ。)を抽出する機能を持つ。ログ解析部152は、既存ソースコード情報101のログ情報105を解析し、カバレッジ情報106を出力する。 The snippet extraction unit 151 has a function of extracting snippet information 103 (also referred to as snippet 103) from existing source code information 101 from a predetermined viewpoint. The log analysis unit 152 analyzes the log information 105 of the existing source code information 101 and outputs coverage information 106.

スニペット類似度判定部153は、抽出された各スニペットの類似度を判定し、スニペット類似度情報107を生成する。スニペットの類似度は、例えば、スニペットに含まれる文字列またはトークン列を比較することで算出される。スニペット類似度情報107は、図13で後述するように、例えば、比較対象のスニペットを表の縦横に並べ、縦の列と横の行が交差する各セルに類似度を格納して構成される。 The snippet similarity determination unit 153 determines the similarity of each extracted snippet and generates snippet similarity information 107. The similarity of snippets is calculated, for example, by comparing character strings or token strings included in the snippets. As described later in FIG. 13, the snippet similarity information 107 is configured by, for example, arranging the snippets to be compared vertically and horizontally in a table, and storing the similarity in each cell where the vertical column and horizontal row intersect. .

画面部品情報抽出部154は、既存HTML情報102を解析することにより、画面部品情報108を抽出する。画面部品情報抽出部154は、既存HTML情報102の各画面部品について、例えば、同一画面に存在する他の画面部品との位置関係と画面部品の属性(種類、ラベルなど)とを取得して、画面部品情報108を抽出する。スニペット利用状況作成部155は、スニペット利用状況情報109を作成する。 The screen component information extraction unit 154 extracts the screen component information 108 by analyzing the existing HTML information 102. For each screen component in the existing HTML information 102, the screen component information extraction unit 154 acquires, for example, the positional relationship with other screen components existing on the same screen and the attributes (type, label, etc.) of the screen component, and Screen component information 108 is extracted. The snippet usage status creation unit 155 creates snippet usage status information 109.

フロー候補生成部156は、イベントフロー候補を生成し、イベントフロー候補の一覧情報110を出力する。 The flow candidate generation unit 156 generates event flow candidates and outputs event flow candidate list information 110.

フロー候補表示部158は、新規作成対象の画面についてのイベントフロー候補をコンピュータ端末4に送信して、コンピュータ端末4の画面に表示させる機能を持つ。ソースコード生成部160は、プログラマがイベントフロー候補を使用してソースコードを作成するための機能を持つ。プログラマがコンピュータ端末4を用いて作成した新規画面のソースコードは、既存ソースコード情報101の一部として画面設計情報生成システム1に保存される。 The flow candidate display unit 158 has a function of transmitting event flow candidates for a screen to be newly created to the computer terminal 4 and displaying them on the screen of the computer terminal 4. The source code generation unit 160 has a function for a programmer to create source code using event flow candidates. The source code of a new screen created by the programmer using the computer terminal 4 is stored in the screen design information generation system 1 as part of the existing source code information 101.

図4は、記憶装置13に記憶される情報の例を示す。記憶装置13は、例えば、既存ソースコード情報101、既存画面HTML情報102、スニペット情報103、スニペット依存関係情報104、ログ情報105、カバレッジ情報106、スニペット類似度情報107、画面部品情報108、スニペット利用状況情報109、フロー候補一覧情報110、新規画面HTML情報111、イベントフロー候補情報112、出力ソースコード情報120を記憶する。以下、スニペット情報をスニペットと略記するように、「情報」という語句を省略する場合がある。 FIG. 4 shows an example of information stored in the storage device 13. The storage device 13 stores, for example, existing source code information 101, existing screen HTML information 102, snippet information 103, snippet dependency information 104, log information 105, coverage information 106, snippet similarity information 107, screen component information 108, and snippet usage. Status information 109, flow candidate list information 110, new screen HTML information 111, event flow candidate information 112, and output source code information 120 are stored. Hereinafter, the word "information" may be omitted so that snippet information is abbreviated as "snippet."

カバレッジ情報106は、抽出されたスニペットの利用量を示す情報である。フロー候補一覧情報110は、既存画面の情報(既存ソースコードおよび既存画面HTMLからなる情報)から抽出されたイベントフローの候補を一覧で示す情報である。出力ソースコード情報120は、イベントフロー候補情報112に基づいてプログラマにより作成されたソースコードである。 Coverage information 106 is information indicating the usage amount of the extracted snippet. The flow candidate list information 110 is information showing a list of event flow candidates extracted from existing screen information (information consisting of existing source code and existing screen HTML). The output source code information 120 is source code created by a programmer based on the event flow candidate information 112.

図5は、画面設計情報生成システム1の機能間の関係と全体の流れを示す。主な流れは、図面中央部のスニペット抽出部151、スニペット利用状況作成部155、フロー候補生成部156、画面部品フロー生成部157、フロー候補表示部158、ソースコード生成部160である。 FIG. 5 shows the relationship between functions and the overall flow of the screen design information generation system 1. The main flow is a snippet extraction section 151, a snippet usage status creation section 155, a flow candidate generation section 156, a screen component flow generation section 157, a flow candidate display section 158, and a source code generation section 160 in the center of the drawing.

スニペット抽出部151は、既存システムのソースコード101からスニペット103を抽出する。さらに、スニペット抽出部151は、既存ソースコード101の構造情報を解析することにより、スニペット間の依存関係104を抽出する。 The snippet extraction unit 151 extracts the snippet 103 from the source code 101 of the existing system. Furthermore, the snippet extracting unit 151 extracts dependencies 104 between snippets by analyzing the structural information of the existing source code 101.

スニペット類似度判定部153は、各スニペット103の類似度を算出し、スニペット類似度107を出力する。 The snippet similarity determining unit 153 calculates the similarity of each snippet 103 and outputs a snippet similarity 107.

ログ解析部152は、ログ105を解析してカバレッジ106を生成する。画面部品抽出部154は、既存画面HTML102を解析して画面部品108を抽出する。 The log analysis unit 152 analyzes the log 105 and generates coverage 106. The screen component extraction unit 154 analyzes the existing screen HTML 102 and extracts the screen component 108.

スニペット利用状況作成部155は、スニペット103と、スニペット依存関係104と、スニペット類似度107と、カバレッジ106と、画面部品108とに基づいて、スニペット利用状況109を作成する。 The snippet usage status creation unit 155 creates a snippet usage status 109 based on the snippet 103, the snippet dependency relationship 104, the snippet similarity 107, the coverage 106, and the screen component 108.

フロー候補生成部156は、スニペット利用状況109に基づいてフロー候補一覧110を生成する。画面部品フロー生成部157は、新規画面HTML111とフロー候補一覧110とに基づいてイベントフロー候補112を生成する。 The flow candidate generation unit 156 generates a flow candidate list 110 based on the snippet usage status 109. The screen component flow generation unit 157 generates event flow candidates 112 based on the new screen HTML 111 and the flow candidate list 110.

フロー候補表示部158は、イベントフロー候補112をユーザインターフェース部14を介してプログラマに提供する。ソースコード生成部160は、イベントフロー候補の中からプログラマにより選択されたイベントフローと、プログラマから入力された初期値などに基づいて新規画面HTML111のソースコード120を生成する。 The flow candidate display section 158 provides the event flow candidates 112 to the programmer via the user interface section 14 . The source code generation unit 160 generates the source code 120 of the new screen HTML 111 based on the event flow selected by the programmer from among the event flow candidates and the initial values input by the programmer.

図6は、既存のソースコード情報101の例である。ソースコードの例1010からは、コメント、関数、変数の依存関係に基づいて、複数のスニペット101000,101001,101002,101003,101004,101005,101006,101007を抽出することができる。図6に示すスニペットは、説明のための例であって、本開示は図6に示されるスニペットに限定されない。 FIG. 6 is an example of existing source code information 101. A plurality of snippets 101000, 101001, 101002, 101003, 101004, 101005, 101006, and 101007 can be extracted from the source code example 1010 based on dependencies of comments, functions, and variables. The snippet shown in FIG. 6 is an illustrative example, and the present disclosure is not limited to the snippet shown in FIG. 6.

図7は、既存画面HTML情報102の例1020である。既存画面の描画を制御する既存画面HTMLの例1020には、複数の画面部品102000,102001,102002,102003,102004,102005,102006,102010,102011,102012,102013,102020,102021,102030,102031が含まれている。図7に示すように、既存画面HTMLの例1020には、例えば、テキストや数字の入力欄を示す画面部品、表を示す画面部品、表を前後のページに切り替えるボタンを示す画面部品、お気に入りに追加するボタンを示す画面部品、カートへ追加するボタンを示す画面部品などが含まれている。図7に示す画面部品は、説明のための例であって、本開示は図7に示すされる画面部品に限定されない。 FIG. 7 is an example 1020 of the existing screen HTML information 102. The example 1020 of the existing screen HTML that controls the drawing of the existing screen includes multiple screen components 102000, 102001, 102002, 102003, 102004, 102005, 102006, 102010, 102011, 102012, 102013, 102020, 102021, 102030, 102031 is include. As shown in FIG. 7, the existing screen HTML example 1020 includes, for example, a screen component that shows an input field for text or numbers, a screen component that shows a table, a screen component that shows a button to switch the table to the previous or next page, and a screen component that shows a button for switching the table to the previous or next page. It includes a screen component that shows an add button, a screen component that shows an add to cart button, etc. The screen component shown in FIG. 7 is an illustrative example, and the present disclosure is not limited to the screen component shown in FIG. 7.

図8は、既存の画面HTML情報102により表示される画面例1021である。画面例1021は、商品選択画面と商品一覧表とに大別される。 FIG. 8 is an example screen 1021 displayed using the existing screen HTML information 102. The screen example 1021 is roughly divided into a product selection screen and a product list.

商品選択画面は、画面部品102110,102111,102112,102113,102114,102115,102116を含む。これら画面部品は、図4に示す既存画面HTML例1020の画面部品102000,102001,102002,102003,102004,102005,102006に対応する。 The product selection screen includes screen components 102110, 102111, 102112, 102113, 102114, 102115, and 102116. These screen components correspond to screen components 102000, 102001, 102002, 102003, 102004, 102005, and 102006 of the existing screen HTML example 1020 shown in FIG.

商品一覧表は、表10213、詳細10214、画像10215を含む。表10213は、画面部品102120,102121,102123,102130,102131,102132,102133,102134,102135を含む。表10213には、複数の商品の行202136,102137が表示されている。 The product list includes a table 10213, details 10214, and images 10215. Table 10213 includes screen components 102120, 102121, 102123, 102130, 102131, 102132, 102133, 102134, and 102135. In the table 10213, rows 202136 and 102137 of a plurality of products are displayed.

詳細10214は、画面部品102140,102141を含み,1つの行102142が表示されている。 Details 10214 includes screen components 102140 and 102141, and one row 102142 is displayed.

画面例1021の一番には、「お気に入りに追加」ボタン102160と、「カートに追加」ボタン102161が表示されている。 At the top of the screen example 1021, an "Add to Favorites" button 102160 and an "Add to Cart" button 102161 are displayed.

図9は、スニペット情報103の例1030を示す。スニペット情報(スニペット)103の例1030は、例えば、スニペット識別子(スニペットID)103001、画面名103002、画面部品103003、イベント103004、ソースコード103005、行番号103006、コード断片103007を有する。 FIG. 9 shows an example 1030 of snippet information 103. An example 1030 of the snippet information (snippet) 103 includes, for example, a snippet identifier (snippet ID) 103001, a screen name 103002, a screen component 103003, an event 103004, a source code 103005, a line number 103006, and a code fragment 103007.

スニペットID103001は、画面設計情報生成システム1で管理する各スニペットを一意に特定する情報である。画面名103002は、スニペットに対応する画面の名称である。画面名には、例えば「商品検索画面」などがある。 The snippet ID 103001 is information that uniquely identifies each snippet managed by the screen design information generation system 1. The screen name 103002 is the name of the screen corresponding to the snippet. The screen name includes, for example, "Product Search Screen."

画面部品103003は、スニペットに対応する画面部品を示す情報である。イベント103004は、スニペットに対応するイベントを特定する情報である。画面部品103003が操作されるとイベント103004が発生する。 Screen component 103003 is information indicating a screen component corresponding to the snippet. Event 103004 is information that specifies an event corresponding to a snippet. When the screen component 103003 is operated, an event 103004 occurs.

ソースコード103005は、スニペットが切り出された元のソースコードを示す情報である。行番号103006は、スニペットの範囲をソースコード103005の行番号で特定する。コード断片103007は、スニペットの内容を示す。 Source code 103005 is information indicating the original source code from which the snippet was extracted. The line number 103006 specifies the range of the snippet by the line number of the source code 103005. Code fragment 103007 shows the content of the snippet.

図9の例1030では、3つのスニペットを示す3つの行103051,103052,103053が示されている。なお、各図中の記載内容は、それぞれの図中での説明に用いられるもので、他の図との整合性は意識していない。ある図の記載内容と他の図の記載内容が正確に一致していない場合でも、いわゆる当業者であれば、本開示の画面設計情報生成システム1を実現することができる。 In example 1030 of FIG. 9, three rows 103051, 103052, 103053 are shown representing three snippets. Note that the descriptions in each figure are used for explanation within each figure, and consistency with other figures is not considered. Even if the written content in one diagram does not exactly match the written content in another diagram, a person skilled in the art can realize the screen design information generation system 1 of the present disclosure.

図10は、スニペット間の依存関係を示す情報104の例1040である。スニペット依存関係情報104の例1040は、例えば、先に実施されるスニペットのID104001(前スニペットID)、その次に実施されるスニペットのID104002(後スニペットID)、前スニペットIDと後スニペットIDとの関係104003を有する。スニペット間の関係104003には、例えば「順序(時系列順)」、「エラーフロー」がある。 FIG. 10 is an example 1040 of information 104 indicating dependencies between snippets. An example 1040 of the snippet dependency information 104 includes, for example, the ID 104001 (previous snippet ID) of the snippet to be executed first, the ID 104002 (later snippet ID) of the snippet to be executed next, the previous snippet ID and the later snippet ID. It has relationship 104003. The relationship 104003 between snippets includes, for example, "order (chronological order)" and "error flow."

図11は、ログ情報105の例1050である。ログ情報例1050は、例えば、ソースコード105001、実行された行105002を備える。ログ情報例1050には、3つの行105051,105052,105053が示されている。 FIG. 11 is an example 1050 of the log information 105. The log information example 1050 includes, for example, a source code 105001 and an executed line 105002. The log information example 1050 shows three lines 105051, 105052, and 105053.

図12は、カバレッジ情報106の例1060である。カバレッジ情報例1060は、例えば、スニペットID106001、カバレッジの値106002を備える。カバレッジ情報例1060には、3つの行106051,106052,106053が示されている。 FIG. 12 is an example 1060 of coverage information 106. The coverage information example 1060 includes, for example, a snippet ID 106001 and a coverage value 106002. The coverage information example 1060 shows three rows 106051, 106052, and 106053.

図13は、スニペット間の類似度を管理するスニペット類似度情報107の例1070である。スニペット類似度情報例1070は、例えば、各スニペットのIDを表の縦107001~107007と横107051~107057に配置し、行と列の交差した箇所に類似度を格納している。例1070では、類似度を小数点付きで表現しているが、整数でもよい。スニペット類似度の例1070は、類似度が大きいスニペット同士は類似しており、類似度の小さいスニペット同士は類似していないということを示している。 FIG. 13 is an example 1070 of snippet similarity information 107 that manages the similarity between snippets. In the snippet similarity information example 1070, for example, the IDs of each snippet are arranged vertically 107001 to 107007 and horizontally 107051 to 107057 in the table, and the similarity is stored at the intersection of the row and column. In example 1070, the degree of similarity is expressed with a decimal point, but it may also be an integer. The snippet similarity example 1070 indicates that snippets with high degrees of similarity are similar to each other, and snippets with low degrees of similarity are dissimilar to each other.

図14は、画面部品情報108の例1080である。画面部品情報例1080は、例えば、画面部品の設けられる画面を特定する情報108001、画面部品の種類を特定する情報108002、同一画面に存在する他の画面部品との位置関係108003、情報108002で特定された画面部品の属性108004を備えている。 FIG. 14 is an example 1080 of the screen component information 108. The screen component information example 1080 is specified by, for example, information 108001 that specifies the screen on which the screen component is provided, information 108002 that specifies the type of screen component, positional relationship 108003 with other screen components that exist on the same screen, and information 108002. The attribute 108004 of the screen component is provided.

他の画面部品との位置関係108003は、例えば、「表」などの他の画面部品の種類、他の画面部品との位置関係(同一DOMであって、上側に位置するなど)である。画面部品の属性108004は、例えば、ラベル名などである。 The positional relationship with other screen parts 108003 is, for example, the type of other screen parts such as a "table", or the positional relationship with other screen parts (such as being in the same DOM and located on the upper side). The attribute 108004 of the screen component is, for example, a label name.

図15は、スニペットの利用状況を示す情報109の例である。スニペット利用状況情報109の例1090は、例えば、スニペットのID109001、スニペットの利用量109002、類似するスニペットのID109003、スニペットが呼び出されるイベントを特定する情報109004、そのスニペットの後に発生するスニペットの情報109005、同一画面内の画面部品についての情報109006、対象の画面部品の情報109007がある。スニペット利用状況情報例1090には、3つの行109051,109052,109053が示されている。 FIG. 15 is an example of information 109 indicating usage status of a snippet. An example 1090 of the snippet usage information 109 includes, for example, a snippet ID 109001, a snippet usage amount 109002, a similar snippet ID 109003, information 109004 that specifies the event in which the snippet is called, information 109005 about the snippet that occurs after the snippet, There is information 109006 about screen components within the same screen, and information 109007 about the target screen component. The snippet usage information example 1090 shows three lines 109051, 109052, and 109053.

イベント109004には、例えば、スニペットに関連するイベントの種類と、そのイベントが発生したときにスニペットが呼び出される確率が記憶される。スニペットの後に発生するスニペットの情報(「事後発生)と図15では表記されている。)109005は、例えば、スニペットID109001で特定されるスニペットの後に実行される可能性のあるスニペットのIDと、その発生確率と、発生の関係を示す。発生の関係には、時系列順での発生、エラー処理による発生がある。 The event 109004 stores, for example, the type of event related to a snippet and the probability that the snippet will be called when the event occurs. Information on a snippet that occurs after a snippet (denoted as "subsequent occurrence" in FIG. 15) 109005 includes, for example, the ID of a snippet that may be executed after the snippet identified by snippet ID 109001, and its The relationship between the occurrence probability and occurrence is shown.The relationship between occurrence includes occurrence in chronological order and occurrence due to error processing.

同一画面内の画面部品についての情報109006には、例えば、同一画面内の他の画面部品の種類、スニペットが呼び出されるイベントと関係する確率、画面内での位置関係などが記憶される。対象画面部品の情報109007には、イベント109004の発生に関する画面部品についての情報、すなわち例えば、画面部品の種類およびラベル名が記憶される。 Information 109006 about screen components within the same screen stores, for example, the types of other screen components within the same screen, the probability that a snippet is associated with an event that is called, the positional relationship within the screen, and the like. The target screen component information 109007 stores information about the screen component related to the occurrence of the event 109004, that is, for example, the type and label name of the screen component.

図16は、フロー候補の一覧を示す情報110の例1100である。フロー候補一覧情報の例1100は、例えば、イベントフローを特定するID110001、イベント110002、フロー110003、同一画面内の画面部品110004、対象画面部品110005、優先度110006を備える。 FIG. 16 is an example 1100 of information 110 showing a list of flow candidates. An example of flow candidate list information 1100 includes, for example, an ID 110001 that specifies an event flow, an event 110002, a flow 110003, a screen component 110004 within the same screen, a target screen component 110005, and a priority level 110006.

イベント110002は、イベントフローの発生起点となるイベントを特定する情報である。フロー(イベントフロー)110003は、イベントが発生すると呼び出される一つまたは複数のスニペットをその実行順番と共に示す情報である。同一画面内の画面部品110004は、イベント110002を発生させる対象画面部品110005と同一画面内にある他の画面部品の種類を示す情報である。 The event 110002 is information that specifies the event that is the origin of the event flow. Flow (event flow) 110003 is information indicating one or more snippets that are called when an event occurs, along with their execution order. The screen component 110004 in the same screen is information indicating the type of other screen component in the same screen as the target screen component 110005 that causes the event 110002.

優先度110006は、ID110001で特定されるイベントフローが選択される際の優先度を示す情報である。図16では、一つの行110051だけが示されているが、実際には多くのイベントフローが抽出されて管理される。 Priority 110006 is information indicating the priority when the event flow specified by ID 110001 is selected. Although only one row 110051 is shown in FIG. 16, many event flows are actually extracted and managed.

そのため、特定の画面部品の配置おいて特定のイベントが発生した場合に実行されるイベントフロー110003が複数存在する場合があり得る。複数のイベントフロー110003が検出された場合、画面設計情報生成システム1は、より大きい優先度110006を持つイベントフローを選択する。画面設計情報生成システム1は、最も大きな優先度を持つイベントフローを一つだけ選択してプログラマへ提案してもよいし、優先度の大きい順に所定数のイベントフローを選択してプログラマへ提案してもよい。 Therefore, there may be multiple event flows 110003 that are executed when a specific event occurs in the arrangement of a specific screen component. If multiple event flows 110003 are detected, the screen design information generation system 1 selects the event flow with the higher priority 110006. The screen design information generation system 1 may select only one event flow with the highest priority and propose it to the programmer, or select a predetermined number of event flows in descending order of priority and propose it to the programmer. It's okay.

図17は、新規に作成される画面の構成情報(画面HTML情報)111の例1110である。画面例1110には、例えば、各種ボタン、入力欄、表などの、複数の画面部品111000,111001,111002,111003,111004,111005,111010,111011,111012,111013,111020,111030,111031が含まれている。 FIG. 17 is an example 1110 of configuration information (screen HTML information) 111 of a newly created screen. The screen example 1110 includes a plurality of screen components 111000, 111001, 111002, 111003, 111004, 111005, 111010, 111011, 111012, 111013, 111020, 111030, 111031, such as various buttons, input fields, and tables. ing.

図18は、新規に作成される画面HTML情報111により表示される画面例1111である。画面例1111では、その上側の領域でユーザが商品を検索し、その下側の領域で検索結果が表で示される。ユーザは、検索結果の中からお気に入りの商品を「お気に入り」に追加したり、購入を希望する商品を「カート」へ追加したりする。ここでのユーザとは、新規画面HTML情報例1111により提供されるサービス(オンラインショップなど)を利用する者である。 FIG. 18 is an example screen 1111 displayed by the newly created screen HTML information 111. In the screen example 1111, the user searches for a product in the upper area, and the search results are displayed in a table in the lower area. Users add their favorite products from the search results to their "favorites" or add products they wish to purchase to their "cart." The user here is a person who uses the service (online shop, etc.) provided by the new screen HTML information example 1111.

画面例1111は、商品を検索するための画面部品111110,111111,111112,111113,111114,111115と、検索結果を切替表示するための画面部品111120,111121,111122,111123と、表の画面部品11113,111130,111131,111132,111133と、ユーザのお気に入りに追加するための画面部品111140と、ユーザがカートに追加するための画面部品111141とを含む。なお、カートへ追加するボタン111141をユーザが操作すると、図示せぬ商品購入画面に切り替わる。 Screen example 1111 includes screen components 111110, 111111, 111112, 111113, 111114, 111115 for searching for products, screen components 111120, 111121, 111122, 111123 for switching and displaying search results, and screen component 11113 for a table. , 111130, 111131, 111132, 111133, a screen component 111140 for adding to the user's favorites, and a screen component 111141 for adding to the user's cart. Note that when the user operates the add to cart button 111141, the screen switches to a product purchase screen (not shown).

図19は、イベントフロー候補情報112の例1120である。イベントフロー候補情報の例1120は、例えば、イベントフローID112001、イベントの発生する画面112002、イベントの発生する画面部品112003、イベント内容112004、イベントフローの内容112005を備える。イベントフロー候補情報の例1120には、一つの行112051が示されている。 FIG. 19 is an example 1120 of event flow candidate information 112. The example of event flow candidate information 1120 includes, for example, an event flow ID 112001, a screen where an event occurs 112002, a screen component where an event occurs 112003, event content 112004, and event flow content 112005. In the example 1120 of event flow candidate information, one row 112051 is shown.

図20は、画面設計情報生成システム1を利用するユーザ(プログラマ)へ提供される情報の例31である。出力画面例31は、ユーザインターフェース部14から出力装置3へ送信されて表示される。あるいは、出力画面例31は、通信部15を介してコンピュータ端末4へ送信され、端末画面に表示される。 FIG. 20 is an example 31 of information provided to a user (programmer) who uses the screen design information generation system 1. The output screen example 31 is transmitted from the user interface unit 14 to the output device 3 and displayed. Alternatively, the output screen example 31 is transmitted to the computer terminal 4 via the communication unit 15 and displayed on the terminal screen.

出力画面例31は、イベントについての情報を示すイベント情報表示部311と、イベントフロー候補の一覧を示すイベントフロー候補一覧表示部312と、スニペットに関する情報を示すスニペット表示部313と、ボタン314を含む。 The output screen example 31 includes an event information display section 311 that shows information about events, an event flow candidate list display section 312 that shows a list of event flow candidates, a snippet display section 313 that shows information about snippets, and a button 314. .

イベント情報表示部311は、例えば、画面31100、画面部品31101、イベント31102を含む。イベント情報表示部311には、一つの行31151が示されている。画面31100はイベントの発生する画面の種類を示す。画面部品31101は、イベントを発生させる画面部品の種類を示す。イベント31102は、イベントの発生する操作(ユーザ操作)の種類を示す。 The event information display section 311 includes, for example, a screen 31100, a screen component 31101, and an event 31102. In the event information display section 311, one row 31151 is shown. A screen 31100 indicates the type of screen where an event occurs. Screen component 31101 indicates the type of screen component that generates an event. The event 31102 indicates the type of operation (user operation) that causes the event.

イベントフロー候補一覧表示部312は、例えば、イベントフローを選択するための選択部31200、イベントフローを識別するイベントフローID31201、イベントの内容を概略的に示すイベントフロー31202を備える。イベントフロー31202では、一つまたは複数のスニペットIDと、複数スニペット間の実行順序だけを記載することができる。 The event flow candidate list display section 312 includes, for example, a selection section 31200 for selecting an event flow, an event flow ID 31201 that identifies the event flow, and an event flow 31202 that schematically indicates the content of the event. In the event flow 31202, only one or more snippet IDs and the execution order among multiple snippets can be described.

スニペット表示部313は、選択部31200で選択されたイベントフローを構成するスニペットの詳細を表示する。スニペット表示部313では、スニペットID31300,31301と、スニペットの内容(ソースコード断片)31350,31351が表示される。 The snippet display section 313 displays details of the snippets constituting the event flow selected by the selection section 31200. In the snippet display section 313, snippet IDs 31300 and 31301 and snippet contents (source code fragments) 31350 and 31351 are displayed.

プログラマは、出力装置3(またはコンピュータ端末4の端末画面)に表示されたイベントフロー候補の情報を参考にして、新規画面HTMLで使用されるソースコードを作成する。 The programmer creates a source code to be used in the new screen HTML by referring to the information of the event flow candidates displayed on the output device 3 (or the terminal screen of the computer terminal 4).

図21は、イベントフロー候補の情報を用いて新たに作成されるソースコード情報120の例1200である。ソースコード情報の例1200は、複数のソースコード断片120000~120007を含んでいる。 FIG. 21 is an example 1200 of source code information 120 newly created using information on event flow candidates. The example source code information 1200 includes a plurality of source code fragments 120000 to 120007.

図21上側のソースコード断片120001,120002は、図20でプログラマに提供されたイベントフローを利用して作成されたものである。他のソースコード断片についても同様に、プログラマは、新規画面HTMLとイベントに基づいて画面設計情報生成システム1から提供されるイベントフロー(不図示)を利用して、効率よく新規ソースコードを作成することができる。 Source code fragments 120001 and 120002 in the upper part of FIG. 21 were created using the event flow provided to the programmer in FIG. Similarly, for other source code fragments, the programmer efficiently creates new source code by using the event flow (not shown) provided from the screen design information generation system 1 based on the new screen HTML and the event. be able to.

図22は、スニペット抽出部151が既存のソースコード101からスニペット103を抽出する処理を示す。 FIG. 22 shows a process in which the snippet extraction unit 151 extracts the snippet 103 from the existing source code 101.

ステップ15100:スニペット抽出部151は、既存ソースコード情報101の全てのファイルを読み込む。 Step 15100: The snippet extraction unit 151 reads all files of the existing source code information 101.

ステップ15101:ループ1の開始。スニペット抽出部151は、既存ソースコード情報101の全てのファイルに対して以下の所定ステップを実行する。 Step 15101: Start of loop 1. The snippet extraction unit 151 executes the following predetermined steps on all files of the existing source code information 101.

ステップ15102:スニペット抽出部151は、既存ソースコード情報101のファイルの画面名を取得する。 Step 15102: The snippet extraction unit 151 acquires the screen name of the file of the existing source code information 101.

ステップ15103:ループ2の開始。スニペット抽出部151は、ステップ15101のファイルの全ての画面部品に対して以下の所定ステップを実行する。 Step 15103: Start of loop 2. The snippet extraction unit 151 executes the following predetermined steps for all screen components of the file in step 15101.

ステップ15104:ループ3の開始。スニペット抽出部151は、ステップ15103の画面部品の、全ての処理のあるイベントに対して以下の所定ステップを実行する。 Step 15104: Start of loop 3. The snippet extraction unit 151 executes the following predetermined steps for all processed events of the screen component in step 15103.

ステップ15105:スニペット抽出部151は、ステップ15104のイベントに対する処理行を、ステップ15101のファイルから取得する。 Step 15105: The snippet extraction unit 151 acquires the processing line for the event in step 15104 from the file in step 15101.

ステップ15106:スニペット抽出部151は、ステップ15105で取得した処理行を、特定の条件に従い分割する。 Step 15106: The snippet extraction unit 151 divides the processing line obtained in step 15105 according to specific conditions.

ステップ15107:ループ4の開始。スニペット抽出部151は、ステップ15106の分割した処理行群の単位に対して以下の所定ステップを実行する。 Step 15107: Start of loop 4. The snippet extraction unit 151 executes the following predetermined steps for each of the divided processing line groups in step 15106.

ステップ15108:スニペット抽出部151は、スニペット情報103に一列を追加し、任意のIDをID列103001に、ステップ15102の画面名を画面名列103002に、ステップ15103の画面部品情報を画面部品列103003に、ステップ15104のイベントをイベント列103004に、ステップ15101で選択したファイルのパスをソース列103005に、ステップ15106で分割した行の番号を行番号列103006に、行の文字列をコード断片列103007に、それぞれ書き込む。このステップの後で、ループ4は終了。 Step 15108: The snippet extraction unit 151 adds a column to the snippet information 103, adds an arbitrary ID to the ID column 103001, the screen name from step 15102 to the screen name column 103002, and the screen component information from step 15103 to the screen component column 103003. , the event in step 15104 is placed in the event column 103004, the path of the file selected in step 15101 is placed in the source column 103005, the number of the line divided in step 15106 is placed in the line number column 103006, and the character string of the line is placed in the code fragment column 103007. Write each. After this step, loop 4 ends.

ステップ15109:ループ5の開始。スニペット抽出部151は、ステップ15106の分割した処理行を組み合わせる。 Step 15109: Start of loop 5. The snippet extraction unit 151 combines the divided processing lines in step 15106.

ステップ15110:スニペット抽出部151は、スニペット依存関係情報104のID前列104001とID後列104002に、ステップ15106の処理行群に対応するステップ15108で設定した103001列の値を、関係列1004003に、その関係が順序関係である場合は値「順序」を、その関係がエラー処理である場合は値「エラー」を書き込む。その後、ループ5,ループ3,ループ2,ループ1の順でループ終了し、本処理は正常終了する。 Step 15110: The snippet extraction unit 151 adds the value of column 103001 set in step 15108 corresponding to the processing row group of step 15106 to the pre-ID column 104001 and post-ID column 104002 of the snippet dependency relationship information 104, to the relation column 1004003, and If the relationship is an order relationship, write the value "Order"; if the relationship is error handling, write the value "Error". Thereafter, loops are completed in the order of loop 5, loop 3, loop 2, and loop 1, and the process ends normally.

図23は、ログ解析部152がログ105を解析する処理を示す。 FIG. 23 shows a process in which the log analysis unit 152 analyzes the log 105.

ステップ15200:ログ解析部152は、スニペット情報103の全ての列を読み込む。 Step 15200: The log analysis unit 152 reads all columns of the snippet information 103.

ステップ15201:ログ解析部152は、ログ情報105の全ての列を読み込む。 Step 15201: The log analysis unit 152 reads all columns of the log information 105.

ステップ15202:ループ1の開始。ログ解析部152は、スニペット情報103の全ての行に対して以下の所定ステップを実行する。 Step 15202: Start of loop 1. The log analysis unit 152 executes the following predetermined steps on all lines of the snippet information 103.

ステップ15203:ログ解析部152は、ステップ15202で選択した行のソース列103005の値とソースコード列106001の値を比較し、値が同じ行をログ情報105より取得する。 Step 15203: The log analysis unit 152 compares the value of the source column 103005 and the value of the source code column 106001 of the row selected in step 15202, and acquires rows with the same values from the log information 105.

ステップ15204:ループ2の開始。ログ解析部152は、ステップ15201で取得したログ情報105の全ての行に対して以下の所定ステップを実行する。 Step 15204: Start of loop 2. The log analysis unit 152 executes the following predetermined steps on all lines of the log information 105 acquired in step 15201.

ステップ15205:ログ解析部152は、ステップ15202での行番号列10300とステップ15204の行の実行行列106002を比較し、一致する行数を計算する。この後、ループ2終了。 Step 15205: The log analysis unit 152 compares the row number column 10300 in step 15202 with the row execution matrix 106002 in step 15204, and calculates the number of matching rows. After this, loop 2 ends.

ステップ15206:ログ解析部152は、カバレッジ情報106に1列を追加し、ステップ15202で取得した行のID列103001の値をID列106001に、ステップ15205で計算した行数の総和を値列106002に出力する。この後、ループ1終了。そして本処理は正常終了する。 Step 15206: The log analysis unit 152 adds one column to the coverage information 106, sets the value of the ID column 103001 of the row obtained in step 15202 in the ID column 106001, and sets the sum of the number of rows calculated in step 15205 in the value column 106002. Output to. After this, loop 1 ends. This process then ends normally.

図24は、類似度判定部153が類似度を判定する処理を示す。 FIG. 24 shows a process in which the similarity determination unit 153 determines the degree of similarity.

ステップ15300:類似度判定部153は、スニペット情報103の各行を読み込む。 Step 15300: The similarity determination unit 153 reads each line of the snippet information 103.

ステップ15301:ループ1の開始。類似度判定部153は、スニペット情報103の全ての行の組み合わせに対して以下の所定ステップを実行する。 Step 15301: Start of loop 1. The similarity determination unit 153 executes the following predetermined steps for all row combinations of the snippet information 103.

ステップ15302:類似度判定部153は、ステップ15301で取得した2つの行について、コード断片列103007の一致する行数の和を行数の和で割った値を計算する。 Step 15302: The similarity determination unit 153 calculates the sum of the number of matching lines in the code fragment sequence 103007 divided by the sum of the number of lines for the two lines obtained in step 15301.

ステップ15303:類似度判定部153は、ステップ15301で取得した2つの行のID列103001の値に対応する、スニペット類似度情報1070のセルに、ステップ15302で計算したパーセンテージを書き込む。この後、ループ1終了。そして、本処理は正常終了する。 Step 15303: The similarity determination unit 153 writes the percentage calculated in step 15302 into the cell of the snippet similarity information 1070 that corresponds to the value of the ID column 103001 of the two rows obtained in step 15301. After this, loop 1 ends. Then, this process ends normally.

図25は、画面部品抽出部154が画面部品情報を抽出する処理を示す。 FIG. 25 shows a process in which the screen component extraction unit 154 extracts screen component information.

ステップ15400:画面部品抽出部154は、既存画面HTML情報102の全てのファイルを読み込む。 Step 15400: The screen component extraction unit 154 reads all files of the existing screen HTML information 102.

ステップ15401:ループ1の開始。画面部品抽出部154は、ステップ15400で読み込んだすべてのファイルに対して以下の所定ステップを実行する。 Step 15401: Start of loop 1. The screen component extraction unit 154 executes the following predetermined steps on all files read in step 15400.

ステップ15402:画面部品抽出部154は、ステップ15401で選択したファイルから画面部品を抽出する。 Step 15402: The screen component extraction unit 154 extracts screen components from the file selected in step 15401.

ステップ15403:ループ2の開始。画面部品抽出部154は、ステップ15402で抽出した全ての画面部品に対して以下の所定ステップを実行する。 Step 15403: Start of loop 2. The screen component extraction unit 154 executes the following predetermined steps for all screen components extracted in step 15402.

ステップ15404:画面部品抽出部154は、ステップ15401で選択したファイルから、ステップ15403で選択した画面部品の属性を抽出する。 Step 15404: The screen component extraction unit 154 extracts the attributes of the screen component selected in step 15403 from the file selected in step 15401.

ステップ15405:画面部品抽出部154は、画面部品情報108に一行を追加し、画面列108001にステップ15401で選択したファイルの画面名を、画面部品列108002にステップ15403で選択した画面部品の名前を、画面部品属性列108004にステップ15404で取得した画面部品の属性を書き込む。 Step 15405: The screen component extraction unit 154 adds one line to the screen component information 108, and enters the screen name of the file selected in step 15401 in the screen column 108001 and the name of the screen component selected in step 15403 in the screen component column 108002. , writes the attributes of the screen component acquired in step 15404 into the screen component attribute column 108004.

ステップ15406:ループ3の開始。画面部品抽出部154は、部品の全ての組み合わせに対して以下の所定ステップを実行する。 Step 15406: Start of loop 3. The screen component extraction unit 154 executes the following predetermined steps for all combinations of components.

ステップ15407:画面部品抽出部154は、ステップ15401で選択したファイルの情報に基づき、ステップ15406で選択した2つの画面部品間の関係を特定する。 Step 15407: The screen component extraction unit 154 identifies the relationship between the two screen components selected in step 15406 based on the information of the file selected in step 15401.

ステップ15408:画面部品抽出部154は、画面部品情報108のステップ15404で追加した行の同じ画面の画面部品列108003に、ステップ15407で計算した画面部品間の関係を書き込む。この後、ループ3,ループ2,ループ1の順で終了。そして、本処理は正常終了する。 Step 15408: The screen component extraction unit 154 writes the relationship between screen components calculated in step 15407 to the screen component column 108003 of the same screen in the row added in step 15404 of the screen component information 108. After this, loop 3, loop 2, and loop 1 are completed in this order. Then, this process ends normally.

図26は、スニペット利用状況作成部155がスニペットの利用状況を作成する処理を示す。 FIG. 26 shows a process in which the snippet usage status creating unit 155 creates a snippet usage status.

ステップS15500:スニペット利用状況作成部155は、スニペット情報103の全ての行を取得する。 Step S15500: The snippet usage status creation unit 155 acquires all lines of the snippet information 103.

ステップS15501:スニペット利用状況作成部155は、ステップ15500で取得したスニペット情報103の行について、その全ての行の組み合わせについて、そのID列103001の値と同じ値を行と列に持つ、スニペット類似度情報107のセルを取得し、その値が1である場合に、ID列103001の2つのIDを同じ群にいれる。 Step S15501: For the rows of the snippet information 103 acquired in step 15500, the snippet similarity score is such that the row and column have the same value as the value of the ID column 103001 for all combinations of rows. If the cell of information 107 is obtained and its value is 1, the two IDs of ID column 103001 are put into the same group.

ステップS15502:ループ1の開始。スニペット利用状況作成部155は、ステップ15501でまとめた全ての群に対して以下の所定ステップを実行する。 Step S15502: Start of loop 1. The snippet usage status creation unit 155 executes the following predetermined steps for all the groups compiled in step 15501.

ステップS15503:スニペット利用状況作成部155は、ステップ15502で選択した群に対し、スニペット利用状況情報109に、一行書き込む。 Step S15503: The snippet usage status creation unit 155 writes one line in the snippet usage status information 109 for the group selected in step 15502.

ステップS15504:スニペット利用状況作成部155は、ステップ15502で選択した群のID列103001の値と同じID列106001を有するカバレッジ情報106の行の値106002の総和を計算し、ステップ15503で追加したスニペット利用状況情報109の行の利用量列109002に書き込む。 Step S15504: The snippet usage status creation unit 155 calculates the sum of the values 106002 of the rows of the coverage information 106 that have the same ID column 106001 as the value of the ID column 103001 of the group selected in step 15502, and calculates the sum of the values 106002 of the rows of the coverage information 106 that are the same as the value of the ID column 103001 of the group selected in step 15502. It is written in the usage amount column 109002 in the row of usage status information 109.

ステップS15505:スニペット利用状況作成部155は、ステップ15502で選択した群のID列103001の値と同じ値を行または列に有するスニペット類似度情報107のセルの値が一定の閾値以上である場合に、同じ値が行の場合は列の値を、同じ値が列の場合は行の値を取得し、取得した行または列の値を、ステップ15503で追加したスニペット利用状況情報109の行の類似スニペット列109003に書き込む。 Step S15505: The snippet usage status creation unit 155 determines if the value of a cell in the snippet similarity information 107 that has the same value in the row or column as the value in the ID column 103001 of the group selected in step 15502 is equal to or higher than a certain threshold. , if the same value is in a row, get the column value, if the same value is in a column, get the row value, and add the obtained row or column value to the similarity of the row of the snippet usage information 109 added in step 15503 Write to snippet column 109003.

ステップS15506:スニペット利用状況作成部155は、ステップ15502で選択した群のID列103001の値と同じ値をID列103001に有するスニペット情報103の行のイベント列103003の値を所得し、その群におけるそれぞれのイベントの割合を計算し、ステップ15503で追加したスニペット利用状況情報109の行のイベント列109004に書き込む。 Step S15506: The snippet usage status creation unit 155 obtains the value of the event column 103003 of the row of the snippet information 103 that has the same value in the ID column 103001 as the value of the ID column 103001 of the group selected in step 15502, and The proportion of each event is calculated and written in the event column 109004 in the row of the snippet usage information 109 added in step 15503.

ステップS15507:スニペット利用状況作成部155は、ステップ15502で選択した群のID列103001の値と、その前ID列104001の値が同じスニペット依存関係情報104の行の後ID列104002と関係列104003の情報を、ステップ15503で追加したスニペット利用状況情報109の行の事後発生列109005に書き込む。 Step S15507: The snippet usage status creation unit 155 creates an ID column 104002 and a relationship column 104003 after the row of the snippet dependency relationship information 104 in which the value of the ID column 103001 of the group selected in step 15502 is the same as the value of the previous ID column 104001. information is written in the subsequent occurrence column 109005 of the row of the snippet usage information 109 added in step 15503.

ステップS15508:スニペット利用状況作成部155は、ステップ15502で選択した群の画面名列103002の値及び画面部品列103003の値と同じ値を、画面列108001及び画面部品列108002に有する画面部品情報108の行を取得し、同じ画面の画面部品列108003と対象画面部品列108004の値にその群におけるそれぞれの値の割合を計算して追加し、ステップ15503で追加したスニペット利用状況情報109の行の同じ画面の画面部品列109006と対象画面部品列109007に書き込む。この後、ループ1終了し、本処理は正常終了する。 Step S15508: The snippet usage status creation unit 155 selects the screen component information 108 that has the same values as the screen name column 103002 and the screen component column 103003 of the group selected in step 15502 in the screen column 108001 and the screen component column 108002. , calculate the proportion of each value in that group and add it to the values of the screen component column 108003 and target screen component column 108004 of the same screen, and add it to the row of the snippet usage information 109 added in step 15503. Write to screen component string 109006 and target screen component string 109007 of the same screen. After this, loop 1 ends and the process ends normally.

図27は、フロー候補生成部156がフロー候補を生成する処理を示す。 FIG. 27 shows a process in which the flow candidate generation unit 156 generates flow candidates.

ステップS15600:フロー候補生成部156は、スニペット利用状況情報109の各行を読み込む。 Step S15600: The flow candidate generation unit 156 reads each line of the snippet usage information 109.

ステップS15601:フロー候補生成部156は、ステップ15600で取得した行のイベント列109004の値を取得する。 Step S15601: The flow candidate generation unit 156 acquires the value of the event column 109004 of the row acquired in step S15600.

ステップS15602:ループ1の開始。フロー候補生成部156は、ステップ15601で取得した全ての値に対して以下の所定ステップを実行する。 Step S15602: Start of loop 1. The flow candidate generation unit 156 executes the following predetermined steps for all the values obtained in step 15601.

ステップS15603:ループ2の開始。フロー候補生成部156は、ステップ15602及びステップ15606で取得した全ての値に対して以下の所定ステップを実行する。 Step S15603: Start of loop 2. The flow candidate generation unit 156 executes the following predetermined steps for all the values obtained in step 15602 and step 15606.

ステップS15604:フロー候補生成部156は、ステップ15603の値に含まれる割合の数値が一定の閾値を超える、スニペット利用状況情報109の行を抽出する。 Step S15604: The flow candidate generation unit 156 extracts rows of the snippet usage information 109 in which the numerical value of the ratio included in the value in step 15603 exceeds a certain threshold.

ステップS15605:フロー候補生成部156は、ステップ15604で抽出した行について、類似スニペット列109003に類似のスニペットが指定される場合は、より利用量列109002の値が大きい行を選択する。 Step S15605: For the row extracted in step 15604, if a similar snippet is specified in the similar snippet column 109003, the flow candidate generation unit 156 selects a row with a larger value in the usage amount column 109002.

ステップS15606:フロー候補生成部156は、事後発生列109005より、その数値が一定の閾値を超える場合に、次のスニペットIDを取得し、その関係とともにフローとして保持する。この後、ループ2は終了する。 Step S15606: The flow candidate generation unit 156 acquires the next snippet ID from the subsequent occurrence column 109005 if the value exceeds a certain threshold, and holds it as a flow along with its relationship. After this, loop 2 ends.

ステップS15607:フロー候補生成部156は、ループ2のステップ15606の全てで条件に当てはまるスニペットID値がなく、かつステップ15603で未処理の値が残っていないか判定する。「はい」と判定すると、ステップ15603へ戻る。「いいえ」と判定すると、ステップS15608へ進む。 Step S15607: The flow candidate generation unit 156 determines whether there is no snippet ID value that satisfies the conditions in all steps 15606 of loop 2 and whether there are any unprocessed values remaining in step 15603. If the determination is "yes", the process returns to step 15603. If the determination is "no", the process advances to step S15608.

ステップS15608:フロー候補生成部156は、フロー候補一覧情報110に一行を追加し、ID列110001に連番を、イベント列110002にステップ15601で取得したイベントを、フロー列110003にステップ15606で作成したフローを、同じ画面の画面部品列110004に同じ画面の画面部品列109006から取得した値を、対象画面部品列110005に対象画面部品列109007から取得した値を、それぞれ書き込む。この後、ループ1は終了する。そして、本処理は正常終了する。 Step S15608: The flow candidate generation unit 156 adds one line to the flow candidate list information 110, creates a serial number in the ID column 110001, creates the event acquired in step 15601 in the event column 110002, and creates it in step 15606 in the flow column 110003. For the flow, the value acquired from the screen component column 109006 of the same screen is written into the screen component column 110004 of the same screen, and the value acquired from the target screen component column 109007 is written into the target screen component column 110005, respectively. After this, loop 1 ends. Then, this process ends normally.

図28は、画面部品フロー生成部157が画面部品フローを生成する処理を示す。 FIG. 28 shows a process in which the screen component flow generation unit 157 generates a screen component flow.

ステップ15700:画面部品フロー生成部157は、フロー候補一覧情報110の全ての行を読み込む。 Step 15700: The screen component flow generation unit 157 reads all lines of the flow candidate list information 110.

ステップ15701:ループ1の開始。画面部品フロー生成部157は、ステップ15700で取得したフロー候補一覧情報110の全ての行に対して以下の所定ステップを実行する。 Step 15701: Start of loop 1. The screen component flow generation unit 157 executes the following predetermined steps for all rows of the flow candidate list information 110 acquired in step 15700.

ステップ15702:画面部品フロー生成部157は、ステップ15701で選択したフロー候補一覧情報110のフロー列110003の全てのID値と同じ値の、スニペット情報103のID列103001を有する行の画面名列103002の値に対応する、新規HTML情報102のファイルの全ての画面部品を読み込む。 Step 15702: The screen component flow generation unit 157 generates the screen name column 103002 of the row having the ID column 103001 of the snippet information 103, which has the same value as all the ID values of the flow column 110003 of the flow candidate list information 110 selected in step 15701. All screen components of the file of new HTML information 102 corresponding to the value of are read.

ステップ15703:ループ2の開始。画面部品フロー生成部157は、ステップ15702で取得した全ての画面部品の全てのイベントに対して以下の所定ステップを実行する。 Step 15703: Start of loop 2. The screen component flow generation unit 157 executes the following predetermined steps for all events of all screen components acquired in step 15702.

ステップ15704:画面部品フロー生成部157は、ステップ15703で選択したイベントと、ステップ15702で選択した行のイベント列112004の値を比較する。 Step 15704: The screen component flow generation unit 157 compares the event selected in step 15703 with the value of the event column 112004 of the row selected in step 15702.

ステップ15705:画面部品フロー生成部157は、ステップ15704で比較した値は一致するか判定する。 Step 15705: The screen component flow generation unit 157 determines whether the values compared in step 15704 match.

ステップ15706:画面部品フロー生成部157は、イベントフロー候補情報112のID列112001に列番を、画面列112002にステップ15702で取得した画面名を、画面部品列112003にステップ15702で取得した画面部品名を、イベント列112004にステップ15703で取得したイベント名を、イベントフロー列112005にステップ15701で選択したフロー候補一覧情報110の行のフロー列110003の値を、それぞれ出力する。この後、ループ2が終了し、続いてループ1も終了する。そして本処理は正常終了する。 Step 15706: The screen component flow generation unit 157 sets the column number in the ID column 112001 of the event flow candidate information 112, the screen name acquired in step 15702 in the screen column 112002, and the screen component acquired in step 15702 in the screen component column 112003. The event name obtained in step 15703 is output to the event column 112004, and the value of the flow column 110003 of the row of the flow candidate list information 110 selected in step 15701 is output to the event flow column 112005. After this, Loop 2 ends, and then Loop 1 ends as well. Then, this process ends normally.

図29は、フロー候補表示部158がフロー候補をコンピュータ端末4へ表示させる処理を示す。 FIG. 29 shows a process in which the flow candidate display unit 158 displays flow candidates on the computer terminal 4.

ステップS15800:フロー候補表示部158は、イベントフロー候補情報112の全行を取得する。 Step S15800: The flow candidate display unit 158 acquires all lines of the event flow candidate information 112.

ステップS15801:フロー候補表示部158は、ステップ15800で所得したイベントフロー候補情報112の全ての行に対し、イベントフロー列112005のイベントフロー値の値に対し、スニペット情報103のID列103001の値が同じ行の、ID列103001及びコード断片列103007の値を取得する。 Step S15801: The flow candidate display unit 158 determines that the value of the ID column 103001 of the snippet information 103 is Obtain the values of ID column 103001 and code fragment column 103007 in the same row.

ステップS15802:フロー候補表示部158は、ステップ15800で取得したイベントフロー候補情報112の全行と、ステップ15801で習得したID列103001及びコード断片列103007の値を、出力装置3に表示する。 Step S15802: The flow candidate display unit 158 displays all rows of the event flow candidate information 112 acquired in step 15800 and the values of the ID column 103001 and code fragment column 103007 acquired in step 15801 on the output device 3.

図30は、ソースコード生成部160がソースコード情報を生成する処理を示す。 FIG. 30 shows a process in which the source code generation unit 160 generates source code information.

ステップ16000:ソースコード生成部160は、入力装置2より、ステップ15802において出力装置3に表示したイベントフロー候補に対する、選択列31200において選択されたイベントフロー候補のID31201を取得する。 Step 16000: The source code generation unit 160 obtains from the input device 2 the ID 31201 of the event flow candidate selected in the selection column 31200 for the event flow candidate displayed on the output device 3 in Step 15802.

ステップ16001:ソースコード生成部160は、ステップ16000で取得したIDと同じID列112001の値を有するイベントフロー候補情報112の行の、イベントフロー列112005のイベントフロー値の値に従い、その含むスニペットIDに対し、スニペット情報103のID列103001が同じ行のコード断片列103007の値で置き換えた文字列を生成する。 Step 16001: The source code generation unit 160 generates a snippet ID containing the event flow value in the event flow column 112005 of the row of event flow candidate information 112 that has the same value in the ID column 112001 as the ID obtained in step 16000. In contrast, a character string is generated in which the ID column 103001 of the snippet information 103 is replaced with the value of the code fragment column 103007 in the same line.

ステップ16002:ソースコード生成部160は、ステップ16001にて作成した文字列を出力ソースコード情報120に出力する。 Step 16002: The source code generation unit 160 outputs the character string created in step 16001 to the output source code information 120.

このように構成される本実施例によれば、これから作成しようとする新規画面に複数の画面部品がある場合に、暗黙的な画面部品間の関係を考えてイベントフローをフルスクラッチで作成する必要がなく、新画面の設計情報(イベントフロー)を効率的に作成することができる。 According to this embodiment configured in this way, when there are multiple screen parts in a new screen to be created, it is necessary to create an event flow from scratch by considering the implicit relationships between the screen parts. It is possible to efficiently create design information (event flow) for new screens.

本実施例では、実績のある既存ソースコード情報を使って、作成対象の新画面に似た画面のソースコード断片を抽出して再利用できるため、プログラマは効率的に新画面を作成することができる。 In this example, the source code fragments of screens similar to the new screen to be created can be extracted and reused using existing source code information with a proven track record, allowing programmers to efficiently create new screens. can.

なお、本発明は上述の実施形態に限定されず、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。 Note that the present invention is not limited to the above-described embodiments, and includes various modifications. The above embodiments have been described in detail to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment. Moreover, the configuration of another embodiment can be added to the configuration of one embodiment. Further, other configurations can be added, deleted, or replaced with a part of the configuration of each embodiment.

本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。 Each component of the present invention can be selected arbitrarily, and inventions having selected configurations are also included in the present invention. Furthermore, the configurations described in the claims can be combined in combinations other than those specified in the claims.

1:画面設計情報生成システム、2:入力装置、3:出力装置、4:コンピュータ端末、5:ストレージシステム、101:既存ソースコード情報、102:既存画面HTML、103:スニペット情報、104:スニペット依存関係情報、105:ログ情報、106:カバレッジ情報、108:画面部品情報、109:スニペット利用状況情報、110:フロー候補一覧情報、111:新規画面HTML情報、112:イベントフロー候補情報、120:出力ソースコード情報、151:スニペット抽出部、152:ログ解析部、153:スニペット類似度判定部、154:画面部品情報抽出部、155:スニペット利用状況作成部、156:フロー候補生成部、157:画面部品フロー生成部、158:フロー候補表示部、160:ソースコード生成部
1: Screen design information generation system, 2: Input device, 3: Output device, 4: Computer terminal, 5: Storage system, 101: Existing source code information, 102: Existing screen HTML, 103: Snippet information, 104: Snippet dependence Relationship information, 105: Log information, 106: Coverage information, 108: Screen component information, 109: Snippet usage status information, 110: Flow candidate list information, 111: New screen HTML information, 112: Event flow candidate information, 120: Output Source code information, 151: Snippet extraction unit, 152: Log analysis unit, 153: Snippet similarity determination unit, 154: Screen component information extraction unit, 155: Snippet usage status creation unit, 156: Flow candidate generation unit, 157: Screen Component flow generation unit, 158: Flow candidate display unit, 160: Source code generation unit

Claims (8)

画面ページの画面設計情報を生成する画面設計情報生成システムであって、
前記画面設計情報は、イベントに対して呼び出される一連の処理を含み、
前記画面ページには、イベントに関連付けられる画面部品が少なくとも一つ含まれており、
少なくとも一つのプロセッサと、
前記プロセッサにより使用される少なくとも一つのメモリと、
を備え、
前記メモリは、画面ページに関する前記画面設計情報を生成する所定のコンピュータプログラムを少なくとも記憶しており、
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
既存ソースコードから抽出されたコードスニペットとイベントに関するイベント情報と前記イベントに関する画面部品の情報とが対応付けられたスニペット情報を生成し、
前記既存ソースコードに対応する既存画面構成情報から各画面部品の位置関係および属性を示す画面部品情報を抽出し、
前記スニペット情報と前記画面部品情報と前記既存ソースコードの構造情報から抽出される前記スニペット情報間の依存関係とに基づいて、スニペットの利用状況を示すスニペット利用状況情報を生成し、
前記スニペット利用状況情報に基づいて、前記コードスニペットを所定の順序で実行する画面設計情報の候補を生成し、前記メモリに記憶させる
画面設計情報生成システム。
A screen design information generation system that generates screen design information for a screen page,
The screen design information includes a series of processes that are called in response to an event,
The screen page includes at least one screen component associated with an event,
at least one processor;
at least one memory used by the processor;
Equipped with
The memory stores at least a predetermined computer program that generates the screen design information regarding the screen page,
By executing the predetermined computer program, the processor:
Generating snippet information in which a code snippet extracted from the existing source code, event information regarding the event, and screen component information regarding the event are associated;
Extracting screen component information indicating the positional relationship and attributes of each screen component from the existing screen configuration information corresponding to the existing source code,
Generating snippet usage status information indicating the usage status of the snippet based on the snippet information, the screen component information, and the dependency relationship between the snippet information extracted from the structure information of the existing source code,
A screen design information generation system that generates screen design information candidates for executing the code snippets in a predetermined order based on the snippet usage status information and stores the screen design information candidates in the memory.
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
作成対象の新規画面ページを取得すると、前記新規画面ページで発生するイベントと前記新規画面ページに含まれる画面部品の位置関係および属性を示す画面部品情報を抽出し、
前記スニペット利用状況情報を用いて、前記新規画面ページから抽出された前記イベントおよび画面部品情報に適合する画面設計情報の候補を選択する
請求項1に記載の画面設計情報生成システム。
By executing the predetermined computer program, the processor:
When a new screen page to be created is acquired, screen parts information indicating events occurring on the new screen page and the positional relationship and attributes of screen parts included in the new screen page is extracted;
2. The screen design information generation system according to claim 1, wherein candidates for screen design information matching the event and screen component information extracted from the new screen page are selected using the snippet usage information.
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
前記選択された画面設計情報の候補を所定のコンピュータ端末へ提供する
請求項2に記載の画面設計情報生成システム。
By executing the predetermined computer program, the processor:
3. The screen design information generation system according to claim 2, wherein the selected screen design information candidate is provided to a predetermined computer terminal.
前記プロセッサは、前記画面設計情報の候補に基づいて前記所定のコンピュータ端末により作成された画面設計情報を前記所定のコンピュータ端末から受信して、前記メモリに記憶させる
請求項3に記載の画面設計情報生成システム。
The screen design information according to claim 3, wherein the processor receives screen design information created by the predetermined computer terminal based on the screen design information candidates from the predetermined computer terminal, and stores the screen design information in the memory. generation system.
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
前記生成されたスニペット情報同士の類似度を算出し、
前記算出された類似度が所定値以上のスニペット情報を一つのスニペット情報として統合し、
前記スニペット情報と前記画面部品情報と前記既存ソースコードの構造情報から抽出される前記スニペット情報間の依存関係と前記一つのスニペット情報として統合された他のスニペット情報とに基づいて、スニペットの利用状況を示すスニペット利用状況情報を生成し、
前記スニペット利用状況情報に基づいて、前記コードスニペットを所定の順序で実行する画面設計情報の候補を生成し、前記メモリに記憶させる
請求項1に記載の画面設計情報生成システム。
By executing the predetermined computer program, the processor:
Calculating the degree of similarity between the generated snippet information,
Integrating the snippet information for which the calculated similarity is greater than or equal to a predetermined value as one snippet information,
The usage status of the snippet is determined based on the dependency relationship between the snippet information, the screen component information, and the snippet information extracted from the structure information of the existing source code, and the other snippet information integrated as the one snippet information. Generates snippet usage information showing the
2. The screen design information generation system according to claim 1, wherein candidates for screen design information for executing the code snippets in a predetermined order are generated based on the snippet usage status information and stored in the memory.
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
前記生成されたスニペット情報の実行実績を抽出し、
前記スニペット情報と前記画面部品情報と前記既存ソースコードの構造情報から抽出される前記スニペット情報間の依存関係と前記スニペットの実行実績とに基づいて、スニペットの利用状況を示すスニペット利用状況情報を生成し、
前記スニペット利用状況情報に基づいて、前記コードスニペットを所定の順序で実行する画面設計情報の候補を生成し、前記メモリに記憶させる
請求項1に記載の画面設計情報生成システム。
By executing the predetermined computer program, the processor:
Extracting the execution results of the generated snippet information,
Generating snippet usage status information indicating the usage status of the snippet based on the dependency relationship among the snippet information extracted from the snippet information, the screen component information, and the structure information of the existing source code, and the execution record of the snippet. death,
2. The screen design information generation system according to claim 1, wherein candidates for screen design information for executing the code snippets in a predetermined order are generated based on the snippet usage status information and stored in the memory.
画面ページの画面設計情報を画面設計情報生成システムにより生成させる画面設計情報生成方法であって、
前記画面設計情報は、イベントに対して呼び出される一連の処理を含み、
前記画面ページには、イベントに関連付けられる画面部品が少なくとも一つ含まれており、
前記画面設計情報生成システムは、少なくとも一つのプロセッサと、前記プロセッサにより使用される少なくとも一つのメモリと、を備えており、
前記メモリは、画面ページに関する前記画面設計情報を生成する所定のコンピュータプログラムを少なくとも記憶しており、
前記プロセッサは、前記所定のコンピュータプログラムを実行することにより、
既存ソースコードから抽出されたコードスニペットとイベントに関するイベント情報と前記イベントに関する画面部品の情報とが対応付けられたスニペット情報を生成し、
前記既存ソースコードに対応する既存画面構成情報から各画面部品の位置関係および属性を示す画面部品情報を抽出し、
前記スニペット情報と前記画面部品情報と前記既存ソースコードの構造情報から抽出される前記スニペット情報間の依存関係とに基づいて、スニペットの利用状況を示すスニペット利用状況情報を生成し、
前記スニペット利用状況情報に基づいて、前記コードスニペットを所定の順序で実行する画面設計情報の候補を生成し、前記メモリに記憶させる
画面設計情報生成方法。
A screen design information generation method for generating screen design information of a screen page by a screen design information generation system, the method comprising:
The screen design information includes a series of processes that are called in response to an event,
The screen page includes at least one screen component associated with an event,
The screen design information generation system includes at least one processor and at least one memory used by the processor,
The memory stores at least a predetermined computer program that generates the screen design information regarding the screen page,
By executing the predetermined computer program, the processor:
Generating snippet information in which a code snippet extracted from the existing source code, event information regarding the event, and screen component information regarding the event are associated;
Extracting screen component information indicating the positional relationship and attributes of each screen component from the existing screen configuration information corresponding to the existing source code,
Generating snippet usage status information indicating the usage status of the snippet based on the snippet information, the screen component information, and the dependency relationship between the snippet information extracted from the structure information of the existing source code,
A screen design information generation method that generates screen design information candidates for executing the code snippets in a predetermined order based on the snippet usage status information and stores the screen design information candidates in the memory.
計算機を、画面ページの画面設計情報を生成する画面設計情報生成システムとして機能させるコンピュータプログラムであって、
前記画面設計情報は、イベントに対して呼び出される一連の処理を含み、
前記画面ページには、イベントに関連付けられる画面部品が少なくとも一つ含まれており、
既存ソースコードから抽出されたコードスニペットとイベントに関するイベント情報と前記イベントに関する画面部品の情報とが対応付けられたスニペット情報を生成する機能と、
前記既存ソースコードに対応する既存画面構成情報から各画面部品の位置関係および属性を示す画面部品情報を抽出させる機能と、
前記スニペット情報と前記画面部品情報と前記既存ソースコードの構造情報から抽出される前記スニペット情報間の依存関係とに基づいて、スニペットの利用状況を示すスニペット利用状況情報を生成する機能と、
前記スニペット利用状況情報に基づいて、前記コードスニペットを所定の順序で実行する画面設計情報の候補を生成し、メモリに記憶させる機能と
を前記計算機上に実現させるコンピュータプログラム。
A computer program that causes a computer to function as a screen design information generation system that generates screen design information for a screen page, the computer program comprising:
The screen design information includes a series of processes that are called in response to an event,
The screen page includes at least one screen component associated with an event,
a function of generating snippet information in which a code snippet extracted from an existing source code, event information related to the event, and screen component information related to the event are associated;
a function for extracting screen component information indicating the positional relationship and attributes of each screen component from existing screen configuration information corresponding to the existing source code;
a function of generating snippet usage status information indicating the usage status of the snippet based on the snippet information, the screen component information, and the dependency relationship between the snippet information extracted from the structure information of the existing source code;
A computer program that causes the computer to realize a function of generating screen design information candidates for executing the code snippets in a predetermined order based on the snippet usage status information and storing them in a memory.
JP2022132522A 2022-08-23 2022-08-23 Screen design information generation system, screen design information generation method, and computer program Pending JP2024030005A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022132522A JP2024030005A (en) 2022-08-23 2022-08-23 Screen design information generation system, screen design information generation method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022132522A JP2024030005A (en) 2022-08-23 2022-08-23 Screen design information generation system, screen design information generation method, and computer program

Publications (1)

Publication Number Publication Date
JP2024030005A true JP2024030005A (en) 2024-03-07

Family

ID=90105637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022132522A Pending JP2024030005A (en) 2022-08-23 2022-08-23 Screen design information generation system, screen design information generation method, and computer program

Country Status (1)

Country Link
JP (1) JP2024030005A (en)

Similar Documents

Publication Publication Date Title
US11921715B2 (en) Search integration
US10152488B2 (en) Static-analysis-assisted dynamic application crawling architecture
US6240411B1 (en) Integrating campaign management and data mining
JP6618461B2 (en) Metadata management system
US7827478B2 (en) Dynamic generation of form pages for accessing a database
EP1168218A1 (en) Building predictive models within interactive business analysis processes
CN101971165A (en) Graphic representations of data relationships
KR20060067812A (en) Complex data access
US20070244694A1 (en) Dictionary-content processing apparatus, content displaying system, and content displaying method
CN101776999A (en) Platform for developing and implementing software system
US8548967B1 (en) System for visual query and manipulation of configuration management records
US20110264678A1 (en) User modification of a model applied to search results
US20160086499A1 (en) Knowledge brokering and knowledge campaigns
CN111427577A (en) Code processing method and device and server
CN107710190B (en) Rendering content using decoupled rendering resources
US9330372B2 (en) Generating an improved development infrastructure
US11580149B2 (en) Data analytics systems and methods
CN102257490A (en) Document information selection method and computer program product
CN111190965A (en) Text data-based ad hoc relationship analysis system and method
CN110889013A (en) Data association method, device, server and storage medium based on XML
JP2024030005A (en) Screen design information generation system, screen design information generation method, and computer program
CN115469849A (en) Service processing system, method, electronic device and storage medium
US11275729B2 (en) Template search system and template search method
CN113392070A (en) Online document management method, device, system, equipment and storage medium
JP2001134424A (en) Method and device for preparing system parameter and computer readable storage medium recording system parameter preparation program and computer readable storage medium storing system parameter preparation data