WO2011099170A1 - ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム - Google Patents

ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム Download PDF

Info

Publication number
WO2011099170A1
WO2011099170A1 PCT/JP2010/054161 JP2010054161W WO2011099170A1 WO 2011099170 A1 WO2011099170 A1 WO 2011099170A1 JP 2010054161 W JP2010054161 W JP 2010054161W WO 2011099170 A1 WO2011099170 A1 WO 2011099170A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
log
transition
procedure
transition pattern
Prior art date
Application number
PCT/JP2010/054161
Other languages
English (en)
French (fr)
Inventor
菊地克朗
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US13/389,451 priority Critical patent/US8930447B2/en
Publication of WO2011099170A1 publication Critical patent/WO2011099170A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates to a usability evaluation method for a web application, and more particularly to a technique for evaluating usability of a web application that changes pages based on a business flow.
  • the level of usability of a web application greatly affects the efficiency of business, it is required to be a web application with high usability.
  • the grasped current situation is analyzed, and the web application is improved based on the analysis result.
  • Technologies for grasping the current status of web applications include a technology for grasping page transitions and a technology for grasping the usage status of pages.
  • a technique for grasping page transition a technique for grasping that a user is at a loss in page transition (see Patent Document 1), a technique for grasping a frequently accessed route (see Patent Document 2), and a producer's There is a technique for investigating whether access is made as intended (see Patent Document 3).
  • JP 2003-281317 A JP2003-281317A
  • JP2004-152209A JP2004-152209A
  • JP 2002-123516 A JP2002-123516A
  • Patent Documents 1 to 3 are applied to a web application in which page transition is simply repeated. Therefore, it was only necessary to grasp the usage status of the page and the transition of the page.
  • the correlation between the page transition directly related to the efficiency of the business flow and the usage status of the page directly related to the work efficiency at each business step of the business flow Need to be considered. That is, in order to improve usability, from a usage log of a plurality of users' pages and a transition log of pages, (1) a transition pattern (back, repeat, Jump, (2) enumerate pages that are likely to cause problems, (3) analyze usage of pages (operation logs) by statistical processing, and the like.
  • step (2) it is necessary to extract pages for each transition pattern.
  • the same page may appear at a plurality of locations in the transition pattern, and in this case, it is necessary to extract the pages as different pages. This occurs, for example, in the case of reroute, and the branch page occurs twice at the time of the first branch and at the time of reroute. It is necessary to manage these two branches as separate pages in consideration of the order of appearance and analyze the operation log. Therefore, for example, it is difficult for an inexperienced person in charge to analyze with only operation logs in a short time.
  • the present invention has been made in consideration of the above-described problems, and an object of the present invention is to provide a usability evaluation method for a web application that can appropriately evaluate the usability of a web application in which a page changes.
  • a typical example of the invention disclosed in the present application is as follows.
  • a usability evaluation method for a web application in which a page transition log of a web application, a first procedure for obtaining an operation log on a page, and a portion having a specific page transition pattern are extracted from the page transition log
  • the second procedure to be performed the third procedure to manage the operation log on the page corresponding to the page transition pattern in association with each page constituting the extracted page transition pattern, and the association management It includes a fourth procedure for statistically processing the operation log and analyzing the page usage status, the page transition pattern, and a fifth procedure for evaluating usability based on the page usage status.
  • the usability of the web application can be appropriately evaluated.
  • FIG. 1A is a diagram showing a system configuration example of a computer system according to the embodiment of this invention.
  • FIG. 1B is a diagram illustrating a configuration example of a client device according to the embodiment of this invention.
  • FIG. 1C is a diagram illustrating a configuration example of the web server device according to the embodiment of this invention.
  • FIG. 1D is a diagram illustrating a configuration example of a log analysis server device according to the embodiment of this invention.
  • FIG. 2A is a diagram illustrating an example of business flow definition data according to the embodiment of this invention.
  • FIG. 2B is a diagram illustrating an example of a business flow according to the embodiment of this invention.
  • FIG. 3 is a diagram showing an outline of the operation of the computer system according to the embodiment of this invention.
  • FIG. 4 is a diagram illustrating a module configuration example of the log analysis server device according to the embodiment of this invention.
  • FIG. 5A is a flowchart illustrating an example of the operation of the client device in the computer system according to the embodiment of this invention.
  • FIG. 5B is a flowchart illustrating an example of the operation of the web server device in the computer system according to the embodiment of this invention.
  • FIG. 5C is a flowchart illustrating an example of the operation of the log analysis server device in the computer system according to the embodiment of this invention.
  • FIG. 6 is a flowchart illustrating an example of the current task end process according to the embodiment of this invention.
  • FIG. 7 is a diagram illustrating an example of a current task operation log storage table according to the embodiment of this invention.
  • FIG. 8A is a diagram illustrating an example of a route management table according to the embodiment of this invention.
  • FIG. 8B is a diagram illustrating an example of an operation log management table according to the embodiment of this invention.
  • FIG. 9 is a flowchart illustrating an example of processing performed by the page transition analysis unit according to the embodiment of this invention.
  • FIG. 10A is a diagram illustrating an example of a transition pattern extraction rule table according to the embodiment of this invention.
  • FIG. 10B is a diagram showing another example of the transition pattern extraction rule table according to the embodiment of this invention.
  • FIG. 11 is a flowchart illustrating an example of the extraction rule adaptation processing according to the embodiment of this invention.
  • FIG. 12A is a diagram showing an example of a transition pattern management table for managing partial transition logs according to the embodiment of this invention.
  • FIG. 12B is a diagram illustrating an example of an operation log management table for each transition pattern according to the embodiment of this invention.
  • FIG. 13 is a flowchart illustrating an example of processing by the usage status evaluation unit according to the embodiment of this invention.
  • FIG. 14 is a diagram illustrating an example of the usage status evaluation policy table according to the embodiment of this invention.
  • FIG. 15 is a diagram showing an example of page transition and operation log to which the embodiment of the present invention is applied.
  • FIG. 16 is a diagram illustrating an example of an evaluation result to which the exemplary embodiment of the present invention is applied.
  • FIG. 17 is a diagram illustrating an output example by the usage status output unit according to the embodiment of this invention.
  • FIG. 18 is a flowchart illustrating an example of the in-page operation analysis processing according to the embodiment of this invention.
  • FIG. 1A is a diagram illustrating a configuration example of a computer system 1 according to the embodiment of this invention.
  • FIG. 1B is a diagram illustrating a configuration example of the client device 100 according to the embodiment of this invention.
  • FIG. 1C is a diagram illustrating a configuration example of the web server device 120 according to the embodiment of this invention.
  • FIG. 1D is a diagram illustrating a configuration example of the log analysis server device 140 according to the embodiment of this invention.
  • the computer system 1 shown in FIG. 1A includes one or more (two in FIG. 1A) client devices 100, one or more (one in FIG. 1A) web server devices 120, and one or more (one in FIG. 1A).
  • Log analysis server device 140 The client device 100, the web server device 120, and the log analysis server device 140 are connected to each other via a network 160. Note that the web server device 120 and the log analysis server device 140 may be physically mounted on the same device.
  • a client apparatus 100 illustrated in FIG. 1B is a computer that uses a web application provided by the web server apparatus 120.
  • the client device 100 includes an input / output device 101, a processor 102, a network interface 103, and a memory 104.
  • the input / output device 101 is an input device (for example, a keyboard or a mouse) and an output device (for example, a display device) that provide a user interface.
  • the processor 102 executes a web browser program 105, a script program 106, an operating system (OS) (not shown), and the like stored in the memory 104.
  • the network interface 103 is a communication interface for the client device 100 to communicate data via the network 160.
  • the memory 104 stores programs executed by the processor 102 and data used by these programs.
  • the client device 100 may further include an external storage device (not shown).
  • a web server device 120 illustrated in FIG. 1C is a computer that provides an application service to the client device 100.
  • the web server device 120 includes a network interface 121, a processor 122, a local disk 123, an input / output device 125, and a memory 126.
  • the network interface 121 is a communication interface for the web server device 120 to communicate data via the network 160.
  • the processor 122 executes the web server program 127, the web application program 128, and the function insertion program 129 stored in the memory 126. Details of the operation of each program will be described later.
  • the web application program 128 refers to a business flow-oriented web application program that changes pages based on a business flow.
  • a business flow definition 124 that is information defining the business flow is stored in the local disk 123.
  • the business flow definition 124 only needs to include business flow definition information, and may be stored in another server such as a database server or another storage device.
  • the local disk 123 is a storage device configured by a magnetic disk device, a nonvolatile semiconductor memory, or the like.
  • the local disk 123 may be built in the web server device 120 or an external storage device provided outside the web server device 120.
  • the input / output device 125 is an input device (for example, a keyboard or a mouse) that provides a user interface and an output device (for example, a display device).
  • the web server device 120 may not include the input / output device 125. In this case, the web server device 120 is operated by the client device 100.
  • the memory 126 stores programs executed by the processor 122 and data used by these programs. FIG.
  • FIG. 2A is a diagram showing an example of the business flow definition data 1500 according to the embodiment of this invention.
  • FIG. 2B is a diagram showing an example of a business flow 1501 according to the embodiment of this invention.
  • the workflow definition 124 in FIG. 1C is data in an original XML (extensible Markup Language) format such as the workflow definition data 1500 shown in FIG. 2A.
  • the business flow definition data 1500 defines a business flow with a flow element. Specifically, a plurality of business steps constituting the business flow are defined by a node element, and a connection relationship between these business steps is defined by a connectors element.
  • Each node element includes an id attribute indicating the identifier of the node and a url attribute indicating the URL (Universal Resource Location) of the corresponding web page.
  • each node element whose id attribute is “start” and “end” is a special node defined by the system that indicates a start step and an end step of the business flow.
  • each connect element is configured by a from attribute indicating from which node (from) and a to attribute defining which node (to) is connected.
  • the log analysis server device 140 illustrated in FIG. 1D analyzes a page transition log of a web application that operates on the web browser of the client device 100 and a user operation log on each page.
  • the log analysis server device 140 includes a network interface 141, a processor 142, a local disk 143, an input / output device 145, and a memory 146.
  • the network interface 141 is a communication interface for the log analysis server device 140 to communicate data via the network 160.
  • the processor 142 executes a log server program 147, a log analysis program 148, and a log visualization program 149 stored in the memory 146.
  • the local disk 143 is a storage device including a magnetic disk device, a nonvolatile semiconductor memory, and the like, and includes a route management table 700, an operation log management table 720, a transition pattern log management table 1000, a current task operation log storage table 144, A transition pattern extraction rule table 900 and a usage status evaluation policy table 1200 are stored.
  • the local disk 143 may be built in the log analysis server device 140 or an external storage device provided outside the log analysis server device 140. Details of the operation of each program and the configuration of each table will be described later.
  • the input / output device 145 is an input device (for example, a keyboard and a mouse) and an output device (for example, a display device) that provide a user interface.
  • the log analysis server device 140 may not include the input / output device 145. In this case, the log analysis server device 140 is operated by the client device 100.
  • the memory 146 stores programs executed by the processor 142 and data used by these programs. (Outline of operation of computer system 1)
  • FIG. 3 is a diagram showing an outline of the operation of the computer system 1 according to the embodiment of this invention. In the following description, a state where a program is loaded into a memory and executed by a processor in each of the devices 100, 120, and 140 is expressed as a “module”.
  • the web browser module 200 transmits a request 203 corresponding to the user operation to the web server module 220.
  • the request 203 is transmitted according to a general HTTP (Hyper Text Transfer Protocol) protocol. Note that the protocol of the request 203 is not limited to the HTTP protocol.
  • the web server module 220 requests the web application 221 corresponding to the received request 203 to perform processing.
  • the web application 221 executes processing according to the request 203 to generate a response 224, and transfers the generated response 224 to the function insertion module 222.
  • the function insertion module 222 generates a response 225 in which the operation log acquisition function module 223 is embedded in the transferred response 224, and transmits the generated response 225 to the web browser module 200.
  • the process of embedding the operation log acquisition function module 223 is a response of the filtering function provided by the web server apparatus 120 such as the J2EE Servlet Filter function and the IIS (Internet Information Services) ISAPI (Internet Server Application Programming Interface) Filter function. And realized.
  • the operation log acquisition function module 235 is dynamically embedded by the function insertion module 222.
  • the operation log acquisition function module 223 is embedded in the web application 221 in advance without using the function insertion module 222. You can leave it.
  • the web browser module 200 When receiving the response 225 from the function insertion module 222, the web browser module 200 interprets HTML (Hyper Text Markup Language) data in the received response 225 and displays it on the web browser. Also, the operation log acquisition function module 223 embedded in the response 225 is transferred to the script engine module 201 (202). Thereafter, the operation log acquisition function module 223 acquires the user operation on the web browser of the client device 100 as an operation log after executing necessary initialization. When a page transition occurs on the web browser, the web browser module 200 transmits the operation log 205 acquired by the operation log acquisition function module 223 to the log server module 240 of the log analysis server device 140. Note that this page transition includes those with and without communication via a network.
  • HTML Hyper Text Markup Language
  • the latter case does not involve communication when the page is rewritten on the web browser side using DOM (Document Object Model), JavaScript technology or the like.
  • the log server module 240 receives the operation log 205 from the web browser module 200, the log server module 240 sequentially stores the received operation log 205 in the current task operation log storage table 144 (243).
  • the current task operation log storage table 144 is a unit of business defined by the web application 221 currently running on the client device 100 (for example, from the start to the end of a business flow, from login to logout, etc. This is a table for temporarily storing an operation log for “task”.
  • the log analysis module 241 comprehensively analyzes page transitions and user operations on each page based on data stored in the current task operation log storage table 144, the route management table 700, and the operation log management table 720.
  • the log visualization module 242 visualizes usability problems and the like according to the analysis result by the log analysis module 241.
  • the processing of the log analysis module 241 is executed by an instruction from the administrator user, batch processing at an arbitrary timing, or the like. (Example of module configuration of log analysis server device 140) FIG.
  • 4 is a diagram illustrating a module configuration example of the log analysis server device 140 according to the embodiment of this invention.
  • 4 illustrates operation logs 301, 302, and 303 stored in the current task operation log storage table 144.
  • operation logs 301, 302, and 303 are stored in the current task operation log storage table 144.
  • operation log 300 When there is no need to distinguish between the operation logs 301, 302, and 303, these are collectively referred to as “operation log 300”.
  • the operation log 300 corresponds to the operation log 205 illustrated in FIG.
  • the operation log 300 includes a task ID that is an identifier of a current task, a page ID that is an identifier of a page referred to in the current task, and an operation time that is a time when a user operation is performed on a page specified by the page ID.
  • the operation target object name, etc.
  • the operation content click, input, etc.
  • the operation result selection value, input value, etc.
  • a plurality of operation logs 300 are stored in the current task operation log storage table 144.
  • the log analysis module 241 includes a page transition analysis unit 320, an in-page operation analysis unit 321, and a usage status evaluation unit 322.
  • the page transition analysis unit 320 analyzes page transitions. Specifically, the page transition analysis unit 320 refers to the transition pattern extraction rule table 900 and extracts a specific transition pattern (return, repeat, jump, reroute, etc.) that is likely to cause a problem from the page transition pattern.
  • the in-page operation analysis unit 321 analyzes user operations on the web browser for each page (mouse click, input to the Form, etc.). At this time, the page operation log 300 is associated and managed for each transition pattern and for each page appearance order in the transition pattern, and the in-page operation analysis is performed.
  • the usage status evaluation unit 322 refers to the analysis result by the page transition analysis unit 320 and the in-page operation analysis unit 321 and the policy definition of the usage status evaluation policy table 1200, and evaluates the usage status of each page. In addition, the usage status evaluation unit 322 extracts a usability problem of the web application based on the evaluation result of the usage status of the web page.
  • the page transition analysis unit 320, the in-page operation analysis unit 321, and the usage status evaluation unit 322 are sequentially executed when the log analysis module 231 is executed.
  • the log visualization module 242 includes a usage status output unit 340, a threshold adjustment unit 341, and a ranking calculation unit 342.
  • the usage status output unit 340 outputs the result of evaluation by the usage status evaluation unit 322.
  • outputting means generating data for outputting in a table format or displaying in an overlay display format on the screen of a web application.
  • the threshold adjustment unit 341 adjusts the thresholds of the conditional expressions defined in the usage status evaluation policy table 1200 (see the thresholds 1203 and 1212 in FIG. 12) so as to be optimal for the web application to be analyzed.
  • the ranking calculation unit 342 quantitatively evaluates the degree of conformity to the conditional expression of each policy definition defined in the usage status evaluation policy table 1200 based on the evaluation result of the usage status evaluation unit 322, and there are a plurality of problems. In that case, the ranking (priority corresponding to the problem) is calculated. For example, when the condition is “less than”, the fitness is higher as the value is smaller. When the condition is “above”, the fitness is higher as the value is larger, and the fitness is quantitatively evaluated. (System operation example)
  • FIG. 5A is a flowchart illustrating an example of the operation of the client apparatus 100 in the computer system 1 according to the embodiment of this invention.
  • FIG. 5A is a flowchart illustrating an example of the operation of the client apparatus 100 in the computer system 1 according to the embodiment of this invention.
  • FIG. 5B is a flowchart illustrating an example of the operation of the web server device 120 in the computer system 1 according to the embodiment of this invention.
  • FIG. 5C is a flowchart illustrating an example of the operation of the log analysis server device 140 in the computer system 1 according to the embodiment of this invention.
  • the web browser module 200 transmits a page display request for a web page to the web server device 120 (S421).
  • the web server module 220 calls the web application 221 corresponding to the page display request (S442).
  • the web application 221 executes processing according to the page display request received in step S441 to generate a response, and transfers the generated response to the function insertion module 222 (S443).
  • step S444 inserts the operation log acquisition function module 223 into the transferred response (S444).
  • the processing in step S444 can be realized by using a response filtering function provided in the web server device 120, such as a J2EE (TM) Servlet Filter.
  • TM J2EE
  • step S446 in which the function insertion module 222 newly assigns a task ID, A task ID is set in Cookie (S446).
  • step S448 when the page display request indicates the end of the task (“NO” in S445 and “YES” in S447), the process proceeds to step S448, and the function insertion module 222 inserts a flag indicating the end of the task in the response. (S448). Thereafter, the function insertion module 222 transmits a response to the client device 100 (S449).
  • the start or end of the task shown in steps S445 and S447 is determined based on a request indicating the start or end of the task, an event of pressing a specific button, or the like.
  • the process of the web server apparatus 120 which concerns on step S441 to S449 is continued until the web server apparatus 120 stops operation
  • step 443 to step 449 uses a response filtering function provided in the web server device 120, but a program fragment for realizing the above function may be incorporated in the web application 221 in advance.
  • the web browser module 200 calls the script engine module 201 and initializes the operation log acquisition function module 223 (S423).
  • an event listener that monitors an event of a user operation on the web browser module 200 is set.
  • the operation log acquisition function module 223 acquires a user operation on the web browser module 200 as an operation log, and adds the operation log to an array for primary recording on the web browser module 200 (S424).
  • step S424 is repeated until a page transition event occurs (S425).
  • the web browser module 200 transmits the task ID, page ID, operation log 300, and task end flag values to the log analysis server device 140 (S426).
  • the above-described processing by the client device 100 in steps S421 to S426 is continued until the web application running on the client device 100 ends (S427).
  • the operation logs are collected in units of pages, and the collected logs are transmitted to the log analysis server device 140. However, each time the logs are acquired, the operation logs are transmitted in different units. May be sent together.
  • the log server module 240 of the log analysis server device 140 receives the operation log from the client device 100, and stores the received operation log in the current task operation log storage table 144 (S401). Subsequently, by referring to the value of the task end flag, it is determined whether or not the current task is ended (S402). When the current task is completed (“YES” in S402), the current task termination process is executed (S403). Details of the processing in step S403 will be described later. On the other hand, if the current task has not ended (“NO” in S402), the process returns to step S401, and the processing is continued until the log analysis server device 140 ends the operation (S404).
  • FIG. 7 is a diagram illustrating an example of the current task operation log storage table 144 according to the embodiment of this invention
  • FIG. 8A is a diagram illustrating an example of the route management table 700 according to the embodiment of this invention
  • 8B is a diagram illustrating an example of the operation log management table 720 according to the embodiment of this invention.
  • the current task operation log storage table 144 shown in FIG. 7 is a table for storing a user operation log for the web browser of the client device 100 as described above.
  • a route management table 700 illustrated in FIG. 8A is a table for managing route (route) information indicating a transition of a web page.
  • a route ID 701 and route (route) information 702 indicating a transition of a web page are associated and managed.
  • a route ID 701 is an identifier for uniquely identifying a route indicating a transition of a web page.
  • the route information 702 indicates the transition of the web page in the route identified by the route ID 701.
  • An operation log management table 720 illustrated in FIG. 8B is a table for managing an operation log in association with each page of route information managed by the route management table 700.
  • a route ID 721, a page ID 722, and an operation log 723 are associated and managed.
  • the route ID 721 is an identifier for uniquely identifying the route, and an identifier common to the route ID 701 in the route management table 700 is used.
  • the page ID 722 is an identifier for uniquely identifying a page, and an identifier common to the page ID 602 of the current task operation log storage table 144 is used.
  • the operation log 723 indicates an operation on the page identified by the page ID 602.
  • FIG. 6 is a flowchart illustrating an example of the current task end process (S403 in FIG. 5C) according to the embodiment of this invention.
  • the log server module 240 acquires all page IDs and operation logs from the current task operation log storage table 144 using the task ID as a key (S501). Next, the log server module 240 searches the route management table 700 for route information having the same route as the page transition (route) derived based on the page ID acquired in step S501, and when route information exists. The route ID is acquired (S502). Next, the log server module 240 determines whether or not there is the same route, that is, whether or not the route ID has been acquired in step S502 (S503).
  • the operation log (record of the operation log management table 720) having the same route ID and page ID is updated for all page IDs. (S504).
  • the log server module 240 assigns a new route ID (S505).
  • the log server module 240 adds a list of route IDs and page IDs to the route management table 700 (S506). Thereafter, for all the page IDs added to the route management table 700, data in which the route ID, page ID, and operation log are associated is added to the operation log management table 720 (S507).
  • the log server module 240 updates the operation log of the operation log management table 720 by the process of step S504, and newly adds to the route management table 700 and the operation log management table 720 by the process of steps S505 to S507. Add route information.
  • the transition pattern extraction rule table 900 will be described.
  • 10A is a diagram illustrating an example of the transition pattern extraction rule table 900 according to the embodiment of this invention
  • FIG. 10B is a diagram illustrating another example of the transition pattern extraction rule table 900 according to the embodiment of this invention. is there.
  • a transition pattern extraction rule table 900 illustrated in FIG. 10A includes a transition pattern extraction rule 902 and a name 903.
  • the transition pattern extraction rule table 900 illustrated in FIG. 10B includes a transition pattern extraction rule 912 and a name 913.
  • the transition pattern names 903 and 913 are referred to (1211, 1221) at the time of evaluation using a utilization situation evaluation policy table 1200 described later.
  • the transition pattern extraction rule 902 shown in FIG. 10A focuses only on the transition of the web page without considering the business flow definition.
  • the transition pattern extraction rule 912 illustrated in FIG. 10B includes a combination of a web page transition and information indicating whether the web page transition conforms to the business flow definition in consideration of the business flow definition.
  • the symbol “order” shown in the transition pattern extraction rule 912 is a forward transition along the workflow definition, the symbol “reverse” is a transition opposite to the workflow definition, and the symbol “not” is defined in the workflow definition. Indicates a transition that is not.
  • pages are expressed as a, b, and c. However, labels may be attached to the pages. For example, in the reroute rule, a is labeled “branch step”, b is “return step”, and c is “reroute destination step”. This labeling is referred to (1211, 1221) at the time of evaluation using a utilization situation evaluation policy table 1200 described later.
  • the page transition analysis unit 320 refers to such a transition pattern extraction rule table 900 and extracts a specific transition pattern using a regular expression-based extraction rule.
  • the extraction rule definition method and extraction processing method are not limited to regular expressions, but may be other transition pattern extraction rule definitions and extraction processes.
  • FIG. 9 is a flowchart illustrating an example of processing of the page transition analysis unit 320 according to the embodiment of this invention.
  • the page transition analysis unit 320 refers to the transition pattern extraction rule table 900 and extracts a specific transition pattern from a page transition pattern.
  • the page transition analysis unit 320 acquires one extraction rule from the transition pattern extraction rule table 900 illustrated in FIG. 10 (S801).
  • the page transition analysis unit 320 determines whether there is an extraction rule, that is, whether the extraction rule has been acquired (S802). As a result of the determination, if there is an extraction rule (“YES” in S802), the process proceeds to step 803. On the other hand, if there is no extraction rule (“NO” in S802), the page analysis process is terminated. Note that the process of step S802 is executed for all extraction rules stored in the transition pattern extraction rule table 900. In step S803, the page transition analysis unit 320 acquires a page transition log of one record (route information 702 shown in FIG. 8A) from the route management table 700.
  • the page transition analysis unit 320 determines whether there is a page transition log, that is, whether the route information has been acquired (S804). If it is determined that there is a page transition log record (“YES” in S804), the process proceeds to step 805. On the other hand, if there is no page transition log record (“NO” in S804), the process returns to step 801 to acquire one next extraction rule. Note that the processing in step S803 is executed for all page transition logs managed in the route management table 700. In step S805, the extraction rule acquired in step 801 is applied to the page transition log acquired in step 803, and a list of matched page transition logs is acquired (S805).
  • the partial transition log is a page transition log having a transition pattern that matches the extraction rule.
  • step S805 The process of step S805 will be specifically described with reference to FIG. Thereafter, the page transition analysis unit 320 determines whether there is a matched partial transition log (S806). As a result of the determination, if there is a matched partial transition log (“YES” in S806), the process proceeds to step 807. On the other hand, if there is no matched partial transition log (“NO” in S806), the process returns to step 803 to acquire the next page transition log record. In step S807, a link to the operation log management table 720 (see FIG. 8B) managing the operation log on each page constituting the partial transition log acquired in step 805 is associated with each transition pattern, and The log is stored in the log management table (see FIG. 12B) (S807).
  • FIG. 11 is a flowchart illustrating an example of the extraction rule adaptation processing according to the embodiment of this invention.
  • an example of an adaptive rule-based extraction rule adaptation process is shown. This is a general extraction rule adaptation process in which a finite automaton is created from an extraction rule and adapted to the URL list of the page transition log to be adapted to obtain a list of partial transition logs that match the extraction rule.
  • the page transition analysis unit 320 generates a finite automaton from the extraction rule acquired in step S801 in FIG. 9 (S1601).
  • the page transition analysis unit 320 acquires one URL from the head of the URL list in the page transition log acquired in step S803 of FIG. 9 (S1602).
  • the page transition analysis unit 320 inputs the URL acquired in step 1602 to the finite automaton generated in step 1601 (S1603).
  • it is determined whether or not the state of the finite automaton is valid S1604). If it is determined that the state of the finite automaton is valid (“YES” in S1604), the process proceeds to step S1605.
  • step S1604 determines whether the state of the finite automaton is invalid (“NO” in S1604) or not (“YES” in S1608).
  • step S1609 resets the state of the finite automaton (S1609).
  • step S1608 the next URL is acquired from the URL list (S1610), the process proceeds to step S1603, and the matching process is resumed.
  • Transition pattern log management table 1000 12A and 12B are diagrams illustrating an example of the log management table 1000 for each transition pattern according to the embodiment of this invention.
  • the log management table for each transition pattern includes a transition pattern table 1010 (FIG. 12A) and an operation log management table 1020 for each transition pattern (FIG. 12B).
  • the transition pattern table 1010 (FIG. 12A)
  • the transition pattern table 1010 manages the route information of the partial transition log extracted by the page transition analysis unit 320 by the page transition analysis process shown in FIG.
  • a pattern ID 1001 which is an identifier for uniquely identifying a partial transition pattern
  • route information 1002 indicating a partial transition of a page are associated and managed. It is an identifier for uniquely identifying.
  • the route information 1002 indicates a page transition part.
  • the transition pattern operation log management table 1020 (FIG. 12B) is a table for managing the operation log of the web page in association with the partial transition route.
  • the pattern ID 1021 corresponding to the pattern ID 1001, the page ID 1022, and each page ID 1022 are managed. Data associated with the operation log 1023 is managed.
  • FIG. 18 is a flowchart illustrating an example of processing by the in-page operation analysis unit 321 according to the embodiment of this invention.
  • one record is acquired from the operation log management table 1020 for each transition pattern (1801). This record corresponds to a log list of a certain page of a certain transition pattern. If there is a record (“YES” in S1802), the process is completed in step 1803.
  • the process is completed. If there is a record, all the operation logs 1023 in the page are extracted from the record (S1803). If there is no operation log (“NO” in S1804), the process proceeds to the next record. If there is an operation log (“YES” in S1804), statistical processing is performed on the operation log, and the result of in-page operation analysis is recorded in the page usage status column 1024 (S1805).
  • the statistical processing for analyzing the operation within the page includes the page residence time (for example, the time obtained by subtracting the no-operation time from the page display time), the content reading rate (for example, the page display rate calculated from the page scroll information), etc. The information obtained from the operation log in the page.
  • FIG. 13 is a flowchart illustrating an example of processing performed by the usage status evaluation unit 322 according to the embodiment of this invention.
  • the usage status evaluation unit 322 acquires one record from the transition pattern table 1010 (S1101).
  • the usage status for each page in the acquired transition pattern is extracted from the operation log management table 1020 for each transition pattern (S1102).
  • the usage status evaluation unit 322 searches whether the acquired transition pattern and operation log in one record meet the evaluation conditions of the usage status evaluation policy table 1200 (see FIG. 14) (S1103).
  • FIG. 14 is a diagram showing an example of the usage status evaluation policy table 1200 according to the embodiment of this invention.
  • the usage status evaluation policy table 1200 illustrated in FIG. 14 manages data in which the transition pattern 1201, the page usage status 1210, and the evaluation result 1220 are associated with each other.
  • the transition pattern 1201 and the page usage status 1210 include a conditional expression that is determined to have a problem.
  • the transition pattern 1201 is composed of evaluation metrics 1202, a default threshold 1203, and a condition 1204, and the page usage status 1210 is composed of evaluation metrics 1211, a default threshold 1212, and a condition 1213.
  • the evaluation result 1220 includes an improvement target 1221 and an improvement content 1222.
  • the branch step (b) is an improvement target.
  • the improvement described in the improvement content 1222 is desired. For example, in the case of transition between pages shown in FIG.
  • FIG. 17 is a diagram illustrating an output example by the usage status output unit 340 according to the embodiment of this invention.
  • the developer can easily grasp the problem by displaying the improvement content on the display page of the page transition of the web application.
  • FIG. 10A an example of a web application in which a business flow definition exists has been described.
  • a web application in which a business flow definition does not explicitly exist can be similarly analyzed.
  • FIG. 10A attention is paid to page transition information. This method does not consider the difference from the flow definition.
  • statistical processing is performed on the route information (FIG. 8A) of each user, and a route having a high appearance frequency is virtually used as a business flow definition. In this method, an analysis is performed on a route that is out of a frequent route.

Abstract

ウェブアプリケーションのユーザビリティ評価方法であって、ウェブアプリケーションのページ遷移ログと、ページ上での操作ログを取得する第1の手順と、前記ページ遷移ログから特定のページ遷移パターンを持つ部分を抽出する第2の手順と、前記抽出したページ遷移パターンを構成するページ毎に、前記ページ遷移パターンに該当するページ上の操作ログを関連付けて管理する第3の手順と、前記関連付けて管理している操作ログを統計処理しページ利用状況を分析する第4の手順と、前記ページ遷移パターンと、前記ページ利用状況を基にユーザビリティ評価する第5の手順と、を含む。

Description

ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム
 本発明は、ウェブアプリケーションのユーザビリティ評価方法に関し、特に業務フローを基にページを遷移するウェブアプリケーションのユーザビリティを評価する技術に関する。
 近年、様々なサービスや業務がウェブアプリケーションとして実現されている。また、クライアント端末やサーバ装置の高性能化やAjax(Asynchronous JavaScript + XML)等のウェブ技術の高度化に伴い、Google Mapsに代表される単純なページ遷移ではないウェブアプリケーションも実現されている。
 さらには、手順に沿って業務を進める定型的な業務をウェブアプリケーションによって業務を支援することも試みられている。このウェブアプリケーションは、業務フローを示すフローチャート表示画面と、業務フローの各ステップでの作業を支援するガイド画面とからなる。ユーザはフローチャート表示画面上に表示された業務フローに従ってガイド画面上で作業するのみで、定型的な業務を遂行することができる。
 ところで、ウェブアプリケーションはITリテラシの低い人でも使いこなせることが要求されている。また、ウェブアプリケーションのユーザビリティの高低が業務の効率性に大きく影響するため、ユーザビリティの高いウェブアプリケーションであることが要求されている。
 ウェブアプリケーションのユーザビリティを改善させるためには、まず現状の把握が必要である。次いで、把握した現状を分析し、分析結果に基づきウェブアプリケーションを改善する。ウェブアプリケーションの現状を把握する技術には、ページ遷移を把握する技術と、ページの利用状況を把握する技術がある。
 ページ遷移を把握する技術としては、ユーザがページ遷移で迷っていることを把握する技術(特許文献1参照)、頻度の高いアクセスルートを把握する技術(特許文献2参照)、及び、製作者の意図通りにアクセスされているかを調査する技術(特許文献3参照)などがある。
特開2003−281317号公報(JP2003−281317A) 特開2004−152209号公報(JP2004−152209A) 特開2002−123516号公報(JP2002−123516A)
 上記特許文献1から3に開示された技術は、単純にページ遷移が繰り返されるウェブアプリケーションに適用されるものである。そのため、単にページの利用状況やページの遷移を把握すればよかった。一方、業務フローを基にページ遷移するウェブアプリケーションの場合、業務フローの効率性に直結するページの遷移と、業務フローの各業務ステップでの作業の効率性に直結するページの利用状況の相関関係を考慮する必要がある。
 すなわち、ユーザビリティを改善させるためには、複数ユーザのページの利用状況ログやページの遷移ログから、(1)ページの遷移パターン(すなわち経路)から問題となりそうな遷移パターン(戻る、繰り返し、Jump、リルートなど)を抽出する、(2)問題になりそうなページを列挙する、(3)ページの利用状況(操作ログ)を統計処理などによって分析する、等の作業が必要となる。特にステップ(2)の作業では、遷移パターン毎にページの抽出を行う必要がある。また、同一のページが、遷移パターン内の複数箇所に現れる場合もあり、その場合、それぞれ別のページとして抽出する必要がある。これは例えばリルートのケースで発生し、分岐ページは一回目の分岐の際とリルート時の分岐の際の2回発生する。この2回の分岐をそれぞれ別のページとして出現順を考慮して管理し操作ログを分析する必要がある。そのため、例えば経験の浅い担当者が短時間で操作ログのみで分析することは困難であった。
 本発明は、上述した課題を考慮したものであって、ページが遷移するウェブアプリケーションのユーザビリティを適切に評価できるウェブアプリケーションのユーザビリティ評価方法を提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ウェブアプリケーションのユーザビリティ評価方法であって、ウェブアプリケーションのページ遷移ログと、ページ上での操作ログを取得する第1の手順と、前記ページ遷移ログから特定のページ遷移パターンを持つ部分を抽出する第2の手順と、前記抽出したページ遷移パターンを構成するページ毎に、前記ページ遷移パターンに該当するページ上の操作ログを関連付けて管理する第3の手順と、前記関連付けて管理している操作ログを統計処理しページ利用状況を分析する第4の手順と、前記ページ遷移パターンと、前記ページ利用状況を基にユーザビリティ評価する第5の手順とを、含むことを特徴とする。
 本発明の代表的な実施の形態によれば、ページの遷移と、ページの利用状況の相関関係を考慮しているので、ウェブアプリケーションのユーザビリティを適切に評価することができる。
 図1Aは、本発明の実施の形態の計算機システムのシステム構成例を示す図である。
 図1Bは、本発明の実施の形態のクライアント装置の構成例を示す図である。
 図1Cは、本発明の実施の形態のウェブサーバ装置の構成例を示す図である。
 図1Dは、本発明の実施の形態のログ分析サーバ装置の構成例を示す図である。
 図2Aは、本発明の実施の形態の業務フロー定義データの一例を示す図である。
 図2Bは、本発明の実施の形態の業務フローの一例を示す図である。
 図3は、本発明の実施の形態の計算機システムの動作の概要を示す図である。
 図4は、本発明の実施の形態のログ分析サーバ装置のモジュール構成例を示す図である。
 図5Aは、本発明の実施の形態の計算機システムにおけるクライアント装置の動作の一例を示すフローチャートである。
 図5Bは、本発明の実施の形態の計算機システムにおけるウェブサーバ装置の動作の一例を示すフローチャートである。
 図5Cは、本発明の実施の形態の計算機システムにおけるログ分析サーバ装置の動作の一例を示すフローチャートである。
 図6は、本発明の実施の形態のカレントタスク終了処理の一例を示すフローチャートである。
 図7は、本発明の実施の形態のカレントタスク操作ログ保存テーブルの一例を示す図である。
 図8Aは、本発明の実施の形態のルート管理テーブルの一例を示す図である。
 図8Bは、本発明の実施の形態の操作ログ管理テーブルの一例を示す図である。
 図9は、本発明の実施の形態のページ遷移分析部による処理の一例を示すフローチャートである。
 図10Aは、本発明の実施の形態の遷移パターン抽出ルールテーブルの一例を示す図である。
 図10Bは、本発明の実施の形態の遷移パターン抽出ルールテーブルの他の例を示す図である。
 図11は、本発明の実施の形態の抽出ルールの適応処理の一例を示すフローチャートである。
 図12Aは、本発明の実施の形態の部分遷移ログを管理する遷移パターン管理テーブルの一例を示す図である。
 図12Bは、本発明の実施の形態の遷移パターン毎操作ログ管理テーブルの一例を示す図である。
 図13は、本発明の実施の形態の利用状況評価部による処理の一例を示すフローチャートである。
 図14は、本発明の実施の形態の利用状況評価ポリシーテーブルの一例を示す図である。
 図15は、本発明の実施の形態が適用されるページ遷移と操作ログの一例を示す図である。
 図16は、本発明の実施の形態が適用される評価結果の一例を示す図である。
 図17は、本発明の実施の形態の利用状況出力部による出力例を示す図である。
 図18は、本発明の実施の形態のページ内操作分析処理の一例を示すフローチャートである。
 以下、本発明の実施の形態について図面を参照して説明する。なお、本明細書においては、計算機(コンピュータ)システムのプロセッサによって実行される各プログラムによって実現される機能ブロックを、「モジュール」や「部」と表現する。
 以下、図1Aから図18を参照して、本発明の実施の形態について説明する。
 (システム構成)
 図1Aは、本発明の実施の形態の計算機システム1の構成例を示す図である。図1Bは、本発明の実施の形態のクライアント装置100の構成例を示す図である。図1Cは、本発明の実施の形態のウェブサーバ装置120の構成例を示す図である。図1Dは、本発明の実施の形態のログ分析サーバ装置140の構成例を示す図である。
 図1Aに示す計算機システム1は、一台以上(図1Aでは二台)のクライアント装置100、一台以上(図1Aでは一台)のウェブサーバ装置120、及び、一台以上(図1Aでは一台)のログ分析サーバ装置140を備える。クライアント装置100、ウェブサーバ装置120及びログ分析サーバ装置140はネットワーク160を介して相互に接続されている。なお、ウェブサーバ装置120とログ分析サーバ装置140とは、物理的に同一の装置に実装されてもよい。
 図1Bに示すクライアント装置100は、ウェブサーバ装置120が提供するウェブアプリケーションを利用する計算機である。このクライアント装置100は、入出力装置101、プロセッサ102、ネットワークインターフェイス103、及び、メモリ104を備える。
 入出力装置101は、ユーザインターフェイスを提供する入力装置(例えば、キーボード、マウス等)及び出力装置(例えば、表示装置)である。プロセッサ102は、メモリ104に記憶されたウェブブラウザプログラム105、スクリプトプログラム106、及び、不図示のオペレーティングシステム(OS)などを実行する。ネットワークインターフェイス103は、クライアント装置100がネットワーク160を介してデータを通信するための通信インターフェイスである。メモリ104は、プロセッサ102によって実行されるプログラム、及びこれらのプログラムによって使用されるデータを格納する。なお、クライアント装置100はさらに外部記憶装置(不図示)などを備えてもよい。
 図1Cに示すウェブサーバ装置120は、クライアント装置100にアプリケーションのサービスを提供する計算機である。ウェブサーバ装置120は、ネットワークインターフェイス121、プロセッサ122、ローカルディスク123、入出力装置125、及び、メモリ126を備える。
 ネットワークインターフェイス121は、ウェブサーバ装置120がネットワーク160を介してデータを通信するための通信インターフェイスである。プロセッサ122は、メモリ126に記憶されたウェブサーバプログラム127、ウェブアプリケーションプログラム128、及び、機能挿入プログラム129を実行する。各プログラムの動作の詳細については後述する。なお、ここでウェブアプリケーションプログラム128とは、業務フローを基にページ遷移する業務フロー指向のウェブアプリケーションプログラムをいう。また、かかる業務フローを定義する情報である業務フロー定義124がローカルディスク123に格納されている。なお、業務フロー定義124は、業務フローの定義情報が含まれていればよく、データベースサーバなど別のサーバや別の記憶装置に格納されていても良い。
 ローカルディスク123は、磁気ディスク装置、不揮発性半導体メモリなどによって構成される記憶装置である。ローカルディスク123は、ウェブサーバ装置120に内蔵されていても、ウェブサーバ装置120の外部に設けられる外部記憶装置であってもよい。
 入出力装置125は、ユーザインターフェイスを提供する入力装置(例えば、キーボード、マウス等)及び出力装置(例えば、表示装置)である。なお、ウェブサーバ装置120が入出力装置125を備えなくてもよい。この場合、ウェブサーバ装置120は、クライアント装置100によって操作される。メモリ126は、プロセッサ122によって実行されるプログラム、及びこれらのプログラムによって使用されるデータを格納する。
 図2Aは、本発明の実施の形態の業務フロー定義データ1500の一例を示す図である。図2Bは、本発明の実施の形態の業務フロー1501の一例を示す図である。図1Cの業務フロー定義124は、図2Aに示す業務フロー定義データ1500のような独自のXML(eXtensible Markup Language)形式のデータである。この業務フロー定義データ1500は、flow要素によって業務フローを定義している。具体的には、node要素によって当該業務フローを構成する複数の業務ステップを定義し、connects要素によってこれら業務ステップ間の接続関係を定義する。また、各node要素は、nodeの識別子を示すid属性、対応するウェブページのURL(Universal Resource Location)を示すurl属性によって構成される。ここで、id属性が“start”及び”end”である各node要素は、当該業務フローの開始ステップ及び終了ステップを示す、システム定義の特殊なnodeである。一方、各connect要素は、どのnodeから(from)を示すfrom属性、どのnodeへ(to)接続するかを定義するto属性によって構成される。これらの要素によって、図2Aに示す業務フロー定義データ1500は、図2Bに示す業務フロー1501を定義する。なお、本実施の形態では、独自のXML形式で業務フローを定義しているが、業務フローを構成する複数の業務ステップのURLおよび順序関係が分かれば、どのような表現形式でもよい。
 図1Dに示すログ分析サーバ装置140は、クライアント装置100のウェブブラウザ上で動作するウェブアプリケーションのページ遷移ログ及び各ページにおけるユーザの操作ログを分析する。ログ分析サーバ装置140は、ネットワークインターフェイス141、プロセッサ142、ローカルディスク143、入出力装置145、及び、メモリ146を備える。
 ネットワークインターフェイス141は、ログ分析サーバ装置140がネットワーク160を介してデータを通信するための通信インターフェイスである。プロセッサ142は、メモリ146に記憶されたログサーバプログラム147、ログ分析プログラム148、及び、ログ可視化プログラム149を実行する。ローカルディスク143は、磁気ディスク装置、不揮発性半導体メモリなどによって構成される記憶装置であり、ルート管理テーブル700、操作ログ管理テーブル720、遷移パターン毎ログ管理テーブル1000、カレントタスク操作ログ保存テーブル144、遷移パターン抽出ルールテーブル900、利用状況評価ポリシーテーブル1200を格納する。ローカルディスク143は、ログ分析サーバ装置140に内蔵されていても、ログ分析サーバ装置140の外部に設けられる外部記憶装置であってもよい。各々のプログラムの動作及び各テーブルの構成の詳細については後述する。
 入出力装置145は、ユーザインターフェイスを提供する入力装置(例えば、キーボード、マウス等)及び出力装置(例えば、表示装置)である。なお、ログ分析サーバ装置140が入出力装置145を備えなくてもよい。この場合、ログ分析サーバ装置140は、クライアント装置100によって操作される。メモリ146は、プロセッサ142によって実行されるプログラム、及びこれらのプログラムによって使用されるデータを格納する。
 (計算機システム1の動作の概要)
 図3は、本発明の実施の形態の計算機システム1の動作の概要を示す図である。なお、以下の説明では、各々の装置100、120、140においてプログラムがメモリにロードされてプロセッサによって実行されている状態を「モジュール」と表現する。
 まず、ウェブブラウザモジュール200は、ウェブブラウザに対するユーザの操作を受け付けると、ウェブサーバモジュール220に対してユーザの操作に応じたリクエスト203を送信する。リクエスト203は、一般的なHTTP(Hyper Text Transfer Protocol)プロトコルに従って送信される。なお、リクエスト203のプロトコルはHTTPプロトコルに限定されない。
 ウェブサーバモジュール220は、リクエスト203を受信すると、受信したリクエスト203に対応するウェブアプリケーション221に処理を要求する。ウェブアプリケーション221は、リクエスト203に応じた処理を実行してレスポンス224を生成し、生成されたレスポンス224を機能挿入モジュール222に転送する。機能挿入モジュール222は、転送されたレスポンス224に操作ログ取得機能モジュール223を埋め込んだレスポンス225を生成し、生成されたレスポンス225をウェブブラウザモジュール200に送信する。ここで、操作ログ取得機能モジュール223を埋め込む処理は、J2EEのServletFilter機能、IIS(Internet Information Services)のISAPI(Internet Server Application Programming Interface)Filter機能など、ウェブサーバ装置120が備えるレスポンスのフィルタリング機能を利用して実現される。なお、本実施の形態では、機能挿入モジュール222により動的に操作ログ取得機能モジュール235を埋め込んでいるが、機能挿入モジュール222を利用せずにウェブアプリケーション221に操作ログ取得機能モジュール223を予め埋め込んでおいてもよい。
 ウェブブラウザモジュール200は、機能挿入モジュール222からレスポンス225を受信すると、受信したレスポンス225中のHTML(Hyper Text Markup Language)データを解釈して、ウェブブラウザ上に表示する。また、レスポンス225に埋め込まれた操作ログ取得機能モジュール223をスクリプトエンジンモジュール201に転送する(202)。その後、操作ログ取得機能モジュール223は、必要な初期化を実行した後、クライアント装置100のウェブブラウザ上のユーザ操作を操作ログとして取得する。ウェブブラウザモジュール200は、ウェブブラウザ上でページ遷移が発生した場合等に、操作ログ取得機能モジュール223によって取得された操作ログ205を、ログ分析サーバ装置140のログサーバモジュール240に送信する。なお、このページ遷移はネットワークを介した通信を伴うもの及び伴わないものを含む。後者の通信を伴わないケースは、DOM(Document Object Model)やJavaScript技術などを用いてウェブブラウザ側でページを書き換える場合である。
 ログサーバモジュール240は、ウェブブラウザモジュール200から操作ログ205を受信した場合、受信した操作ログ205をカレントタスク操作ログ保存テーブル144に順次格納する(243)。カレントタスク操作ログ保存テーブル144とは、現にクライアント装置100上で動作しているウェブアプリケーション221が定義している業務の単位(例えば、業務フローの開始から終了まで、ログインからログアウトまでなど、「カレントタスク」という)についての操作ログを一時的に保存するテーブルである。なお、カレントタスクが終了した場合、カレントタスク操作ログ保存テーブル144に保存された操作ログ205に基づき、ルート管理テーブル700及び操作ログ管理テーブル720に格納する情報が生成され、生成された情報が各テーブルに追加される。
 ログ分析モジュール241は、カレントタスク操作ログ保存テーブル144、ルート管理テーブル700、及び、操作ログ管理テーブル720に格納されたデータに基づき、ページ遷移、及び各ページにおけるユーザ操作を統合的に分析する。ログ可視化モジュール242は、ログ分析モジュール241による分析結果に応じてユーザビリティの問題点等を可視化する。ログ分析モジュール241の処理は、管理者ユーザからの指示や、任意のタイミングでのバッチ処理などによって実行する。
 (ログ分析サーバ装置140のモジュール構成例)
 図4は、本発明の実施の形態のログ分析サーバ装置140のモジュール構成例を示す図である。また、図4には、カレントタスク操作ログ保存テーブル144に保存される操作ログ301、302、303を例示している。カレントタスク操作ログ保存テーブル144には、操作ログ301、302、303が保存されている。なお、操作ログ301、302、303を区別する必要がない場合、これらを総称して「操作ログ300」と表現する。操作ログ300は、図3に示す操作ログ205に対応する。操作ログ300は、カレントタスクの識別子であるタスクID、このカレントタスクにおいて参照されたページの識別子であるページID、このページIDで特定されるページ上でユーザの操作がなされた時刻である操作時刻、ユーザの操作の対象である操作対象(オブジェクト名など)、ユーザの操作の内容である操作内容(クリック、入力など)、ユーザの操作の結果である操作結果(選択値、入力値など)によって構成される。このように、カレントタスク操作ログ保存テーブル144には複数の操作ログ300が保存される。なお、前記ページ上でのユーザ操作は、ページ内の操作状況を分析できればよく、必ずしも全ての項目を記録しておく必要はない。例えば、クリック回数のみに着目した場合、操作内容としてクリックを記録しておくのみでも良い。
 ログ分析モジュール241は、ページ遷移分析部320、ページ内操作分析部321、利用状況評価部322によって構成される。ページ遷移分析部320は、ページ遷移を分析する。具体的には、ページ遷移分析部320は、遷移パターン抽出ルールテーブル900を参照し、ページの遷移パターンから問題となりそうな特定の遷移パターン(戻る、繰り返し、Jump、リルートなど)を抽出する。ページ内操作分析部321は、各ページに対するウェブブラウザ上のユーザの操作(マウスのクリックや、Formへの入力など)を分析する。このとき、遷移パターン毎かつ遷移パターン内のページ出現順毎にページの操作ログ300を関連付けて管理し、ページ内操作分析を行う。利用状況評価部322は、ページ遷移分析部320及びページ内操作分析部321による分析の結果と、利用状況評価ポリシーテーブル1200のポリシー定義とを参照し、各ページの利用状況を評価する。また、この利用状況評価部322は、ウェブページの利用状況の評価結果に基づいて、ウェブアプリケーションのユーザビリティの問題点を抽出する。ページ遷移分析部320、ページ内操作分析部321、利用状況評価部322は、ログ分析モジュール231実行時に、順に実行される。
 ログ可視化モジュール242は、利用状況出力部340、閾値調整部341、ランキング計算部342によって構成される。利用状況出力部340は、利用状況評価部322による評価の結果を出力する。ここで出力とは、テーブル形式で出力したり、ウェブアプリケーションの画面にオーバーレイ表示形式で表示したりするためのデータを生成することである。閾値調整部341は、利用状況評価ポリシーテーブル1200に定義される条件式の閾値(図12の閾値1203、閾値1212参照)を分析対象のウェブアプリケーションに最適となるよう調整する。ランキング計算部342は、利用状況評価部322の評価結果に基づき、利用状況評価ポリシーテーブル1200に定義された各ポリシー定義の条件式への適合度を定量的に評価し、複数の問題点がある場合にそのランキング(その問題点に対応する優先度)を計算する。例えば、条件が“以下”の場合、値が小さいほど適応度が高い、条件が“以上”の場合、値が大きいほど適応度が高いとし、適応度を定量的に評価する。
 (システム動作例)
 図5Aは、本発明の実施の形態の計算機システム1におけるクライアント装置100の動作の一例を示すフローチャートである。図5Bは、本発明の実施の形態の計算機システム1におけるウェブサーバ装置120の動作の一例を示すフローチャートである。図5Cは、本発明の実施の形態の計算機システム1におけるログ分析サーバ装置140の動作の一例を示すフローチャートである。
 はじめに、ウェブブラウザモジュール200は、ウェブページのページ表示リクエストをウェブサーバ装置120に送信する(S421)。ウェブサーバモジュール220は、クライアント装置100からページ表示リクエストを受信すると(S441)、ページ表示リクエストに対応するウェブアプリケーション221を呼び出す(S442)。次に、ウェブアプリケーション221は、ステップS441で受信したページ表示リクエストに応じた処理を実行してレスポンスを生成し、生成したレスポンスを機能挿入モジュール222に転送する(S443)。
 その後、機能挿入モジュール222は、転送されたレスポンスに操作ログ取得機能モジュール223を挿入する(S444)。なお、ステップS444の処理は、J2EE(TM)のServletFilterなどウェブサーバ装置120が備えるレスポンスのフィルタリング機能を利用することで実現することができる。
 次に、ステップS441で受信したページ表示リクエストがタスクの開始を示す場合には(S445で”YES”)、ステップS446に進んで、機能挿入モジュール222は、タスクIDを新規採番し、レスポンスのCookieにタスクIDを設定する(S446)。一方、ページ表示リクエストがタスクの終了を示す場合には(S445で”NO”かつS447で”YES”)、ステップS448に進んで、機能挿入モジュール222は、レスポンスにタスクの終了を示すフラグを挿入する(S448)。その後、機能挿入モジュール222は、レスポンスをクライアント装置100に送信する(S449)。
 なお、ステップS445及びS447に示すタスクの開始又は終了は、タスクの開始や終了を示すリクエストや、特定のボタンの押下のイベントなどを基に判定する。以上、ステップS441からS449に係るウェブサーバ装置120の処理は、ウェブサーバ装置120が動作を停止するまで続けられる(S450)。
 ステップ443からステップ449の処理は、ウェブサーバ装置120が備えるレスポンスのフィルタリング機能を利用しているが、上記機能を実現するプログラム断片をウェブアプリケーション221に予め組み込んでおいてもよい。
 ウェブブラウザモジュール200は、ウェブサーバ装置120からレスポンスを受信すると(S422)、スクリプトエンジンモジュール201を呼び出し、操作ログ取得機能モジュール223を初期化する(S423)。また、ステップS423の初期化処理では、ウェブブラウザモジュール200上でのユーザの操作のイベントを監視するイベントリスナーを設定する。続いて、操作ログ取得機能モジュール223は、ウェブブラウザモジュール200上でのユーザの操作を操作ログとして取得し、操作ログをウェブブラウザモジュール200上で一次記録する配列に追加する(S424)。ステップS424の処理は、ページ遷移のイベントが発生するまで繰り返される(S425)。
 ページ遷移のイベントが発生した場合には(S425)、ウェブブラウザモジュール200は、タスクID、ページID、操作ログ300、及びタスク終了フラグの値をログ分析サーバ装置140に送信する(S426)。以上のステップS421からS426のクライアント装置100による処理は、クライアント装置100上で動作するウェブアプリケーションが終了するまで続けられる(S427)。なお、本実施の形態では、ページ単位で操作ログをまとめて、まとめられたログをログ分析サーバ装置140に送信しているが、ログを取得する毎に送信したり、別の単位で操作ログをまとめて送信したりしてもよい。
 ログ分析サーバ装置140のログサーバモジュール240は、クライアント装置100から操作ログを受信し、受信した操作ログをカレントタスク操作ログ保存テーブル144に保存する(S401)。続いて、タスク終了フラグの値を参照することによって、カレントタスクが終了したか否かを判定する(S402)。カレントタスクが終了した場合(S402で”YES”)、カレントタスクの終了処理を実行する(S403)。ステップS403の処理の詳細は後述する。一方、カレントタスクが終了していない場合(S402で”NO”)、ステップS401に戻り、ログ分析サーバ装置140が動作を終了するまで処理が続けられる(S404)。
 (カレントタスク終了処理)
 カレントタスク終了処理の説明の前に、カレントタスク操作ログ保存テーブル144、ルート管理テーブル700及び操作ログ管理テーブル720の構成について説明する。図7は、本発明の実施の形態のカレントタスク操作ログ保存テーブル144の一例を示す図であり、図8Aは、本発明の実施の形態のルート管理テーブル700の一例を示す図であり、図8Bは、本発明の実施の形態の操作ログ管理テーブル720の一例を示す図である。
 図7に示すカレントタスク操作ログ保存テーブル144は、前述のように、クライアント装置100のウェブブラウザに対するユーザの操作ログを保存するテーブルである。カレントタスク操作ログ保存テーブル144には、タスクID601と、ページID602と、操作ログ603とが対応付けられて保存される。
 タスクID601は、タスクを一意に識別するための識別子である。ページID602は、ページを一意に識別するための識別子である。操作ログ603は、ページID602で識別されるページにおける操作を示す。
 図8Aに示すルート管理テーブル700は、ウェブページの遷移を示すルート(経路)情報を管理するテーブルである。ルート管理テーブル700には、ルートID701と、ウェブページの遷移を示すルート(経路)情報702と、が対応付けられて管理される。
 ルートID701は、ウェブページの遷移を示すルートを一意に識別するための識別子である。ルート情報702は、ルートID701で識別されるルートにおけるウェブページの遷移を示す。
 図8Bに示す操作ログ管理テーブル720は、ルート管理テーブル700で管理されたルート情報の各々のページに操作ログを対応付けて管理するためのテーブルである。操作ログ管理テーブル720には、ルートID721と、ページID722と、操作ログ723とが対応付けられて管理される。
 ルートID721は、ルートを一意に識別するための識別子であり、ルート管理テーブル700のルートID701と共通の識別子が使用される。ページID722は、ページを一意に識別するための識別子であり、カレントタスク操作ログ保存テーブル144のページID602と共通の識別子が使用される。操作ログ723は、ページID602で識別されるページにおける操作を示す。
 なお、一つのルート中に同一のページが複数回現れる場合、別のページとして区別して操作ログを管理する。図8AのルートIDがr3のときURL1が2回現れているが、図8Bでは2回目のURL1はURL1−2と区別される。本例は前述したリルートのケースを示している。なお、図7のページID602、図8Aのルート情報702、図8BのページID722として管理される各データはネットワークを介した通信を伴うもの又は伴わないもののいずれであってもよい。
 次に、カレントタスク終了処理について説明する。
 図6は、本発明の実施の形態のカレントタスク終了処理(図5CのS403)の一例を示すフローチャートである。
 まず、ログサーバモジュール240は、カレントタスク操作ログ保存テーブル144から、タスクIDをキーに、全てのページID及び操作ログを取得する(S501)。次に、ログサーバモジュール240は、ステップS501で取得したページIDに基づき導き出されるページ遷移(ルート)と同一のルートを持つルート情報をルート管理テーブル700から検索し、ルート情報が存在する場合にはそのルートIDを取得する(S502)。
 次に、ログサーバモジュール240は、同一のルートがあるか否か、すなわちステップS502でルートIDを取得できたか否かを判定する(S503)。判定の結果、同一のルートがあると判定された場合(S503で”YES”)、全てのページIDについて、ルートID、ページIDが一致する操作ログ(操作ログ管理テーブル720のレコード)を更新する(S504)。
 一方、ステップS503において、同一のルートがないと判定された場合(S503で”NO”)、ログサーバモジュール240は、ルートIDを新規に採番する(S505)。次に、ログサーバモジュール240は、ルートID、及び、ページIDのリストをルート管理テーブル700に追加する(S506)。その後、ルート管理テーブル700に追加したページIDの全てについて、ルートID、ページID、及び、操作ログを対応付けたデータを操作ログ管理テーブル720に追加する(S507)。
 以上説明したように、ログサーバモジュール240は、ステップS504の処理によって操作ログ管理テーブル720の操作ログを更新するとともに、ステップS505からS507の処理によってルート管理テーブル700及び操作ログ管理テーブル720に新規にルート情報を追加する。
 (ページ遷移分析処理)
 ページ遷移分析部320の処理の説明の前に、遷移パターン抽出ルールテーブル900について説明する。図10Aは、本発明の実施の形態の遷移パターン抽出ルールテーブル900の一例を示す図であり、図10Bは、本発明の実施の形態の遷移パターン抽出ルールテーブル900の他の例を示す図である。
 図10Aに示す遷移パターン抽出ルールテーブル900は、遷移パターン抽出ルール902及び名称903を含む。また、図10Bに示す遷移パターン抽出ルールテーブル900は、遷移パターン抽出ルール912及び名称913を含む。遷移パターンの名称903および913は、後述する利用状況評価ポリシーテーブル1200を用いた評価時に参照(1211、1221)する。
 図10Aに示す遷移パターン抽出ルール902は、業務フロー定義を考慮せずにウェブページの遷移にのみ着目している。一方、図10Bに示す遷移パターン抽出ルール912は、業務フロー定義を考慮して、ウェブページ遷移と、そのウェブページ遷移が業務フロー定義に沿っているか否かを示す情報と、の組み合わせからなる。遷移パターン抽出ルール912に示す記号「順」は業務フロー定義に沿った順方向の遷移、記号「逆」は業務フロー定義とは逆方向の遷移、記号「未」は業務フロー定義には定義されていない遷移を示す。図10Bでは、ページをa、b、cと表現しているが、それぞれにラベルを付けても良い。例えば、リルート時のルールにおいて、aは“分岐ステップ”、bは“戻りステップ”、cは“リルート先ステップ”といったラベル付けを行う。このラベル付けは、後述する利用状況評価ポリシーテーブル1200を用いた評価時に参照(1211、1221)する。
 本実施の形態のページ遷移分析部320は、このような遷移パターン抽出ルールテーブル900を参照し、正規表現ベースの抽出ルールを用いて特定の遷移パターンを抽出する。なお、抽出ルールの定義方法、抽出の処理方式は、正規表現に限定されるものではなく、他の遷移パターンの抽出ルール定義、抽出処理であってもよい。
 図9は、本発明の実施の形態のページ遷移分析部320の処理の一例を示すフローチャートである。
 ページ遷移分析部320は、前述したように、遷移パターン抽出ルールテーブル900を参照し、ページの遷移パターンから特定の遷移パターンを抽出するものである。
 はじめに、ページ遷移分析部320は、図10に示す遷移パターン抽出ルールテーブル900から抽出ルールを一つ取得する(S801)。次に、ページ遷移分析部320は、抽出ルールがあるか否か、すなわち抽出ルールを取得できたか否かを判定する(S802)。
 判定の結果、抽出ルールがある場合(S802で”YES”)、ステップ803に進む。一方、抽出ルールがない場合(S802で”NO”)、このページ分析処理を終了する。なお、このステップS802の処理は、遷移パターン抽出ルールテーブル900に格納された全ての抽出ルールについて実行される。
 ステップS803において、ページ遷移分析部320は、ルート管理テーブル700から1レコードのページ遷移ログ(図8Aに示すルート情報702)を取得する。次に、ページ遷移分析部320は、ページ遷移ログがあるか否か、すなわちルート情報を取得できたか否かを判定する(S804)。
 判定の結果、ページ遷移ログのレコードがある場合(S804で”YES”)、ステップ805に進む。一方、ページ遷移ログのレコードがない場合(S804で”NO”)、ステップ801に戻って次の抽出ルールを一つ取得する。なお、このステップS803の処理は、ルート管理テーブル700に管理された全てのページ遷移ログについて実行される。
 ステップS805では、ステップ803で取得されたページ遷移ログにステップ801で取得した抽出ルールを適応し、マッチした部分のページ遷移ログの一覧を取得する(S805)。ここで部分遷移ログとは、抽出ルールとマッチした遷移パターンを有するページ遷移ログである。ステップS805の処理については、図11を用いて具体的に説明する。
 その後、ページ遷移分析部320は、マッチした部分遷移ログがあるか否かを判定する(S806)。判定の結果、マッチした部分遷移ログがある場合(S806で”YES”)、ステップ807に進む。一方、マッチした部分遷移ログがない場合(S806で”NO”)、ステップ803に戻って次のページ遷移ログのレコードを取得する。
 ステップS807では、ステップ805で取得した部分遷移ログを構成する各ページにおける操作ログを管理している操作ログ管理テーブル720(図8B参照)に対するリンクを、遷移パターン毎に対応付けて、遷移パターン毎ログ管理テーブル(図12B参照)に格納する(S807)。なお、前述したように、一つの遷移パターン中に同一のページが複数回現れる場合、出現順を考慮して別のページとして区別して操作ログを管理する。
 以上説明した処理によって、ページ遷移分析部320は、抽出ルールにマッチした部分遷移ログと、この部分遷移ログを構成する各ページにおける操作ログとを抽出する。
 図11は、本発明の実施の形態の抽出ルールの適応処理の一例を示すフローチャートである。本実施の形態では、正規表現ベースの抽出ルールの適応処理の一例を示す。抽出ルールから有限オートマトンを作成し、適応対象のページ遷移ログのURLリストに適応することによって、抽出ルールに一致する部分遷移ログの一覧を取得する、一般的な抽出ルールの適応処理である。
 はじめに、ページ遷移分析部320は、図9のステップS801で取得した抽出ルールから有限オートマトンを生成する(S1601)。次に、ページ遷移分析部320は、図9のステップS803で取得したページ遷移ログ中のURLリストの先頭からURLを一つ取得する(S1602)。次に、ページ遷移分析部320は、ステップ1601で生成された有限オートマトンにステップ1602で取得したURLを入力する(S1603)。
 次に、有限オートマトンの状態が有効であるか否かを判定する(S1604)。有限オートマトンの状態が有効であると判定された場合(S1604で”YES”)、ステップS1605に進む。
 一方、ステップS1604において有限オートマトンの状態が無効であると判定された場合(S1604で”NO”)、ステップS1609に進んで有限オートマトンの状態をリセットし(S1609)、次のURLがある場合には(S1608で”YES”)、URLリストから次のURLを取得して(S1610)、ステップS1603に進み、マッチング処理を再開する。
 ステップS1605において、有限オートマトンの状態が受理となった場合(S1605で”YES”)、マッチしたURLリストを部分遷移ログとして記録し(S1606)、有限オートマトンをリセットして(S1607)、次のURLがある場合には(S1608で”YES”)、URLリストから次のURLを取得して(S1610)、ステップS1603に進み、マッチング処理を再開する。
 (遷移パターン毎ログ管理テーブル1000)
 図12A及び図12Bは、本発明の実施の形態の遷移パターン毎ログ管理テーブル1000の一例を示す図である。遷移パターン毎ログ管理テーブルは、遷移パターンテーブル1010(図12A)と、遷移パターン毎操作ログ管理テーブル1020(図12B)とによって構成される。
 遷移パターンテーブル1010(図12A)は、ページ遷移分析部320が図8に示すページ遷移分析処理によって抽出した部分遷移ログのルート情報を管理する。遷移パターンテーブル1010には、部分遷移パターンを一意に識別するための識別子であるパターンID1001と、ページの部分遷移を示すルート情報1002とが対応付けられて管理される。一意に識別するための識別子である。ルート情報1002は、ページ遷移の部分を示す。
 遷移パターン毎操作ログ管理テーブル1020(図12B)は、部分遷移ルートにウェブページの操作ログを対応付けて管理するテーブルであり、パターンID1001に相当するパターンID1021と、ページID1022と、各々のページID1022における操作ログ1023とが対応付けられたデータを管理する。例えば、パターンIDがp3の部分遷移ルート(URL1→URL3→URL1→URL2)の場合、図12Bに示す通り、URL1(1回目)、URL3、URL1(2回目)、URL2の操作ログ1023が対応付けて管理される。
(ページ内操作分析処理)
 図18は、本発明の実施の形態のページ内操作分析部321による処理の一例を示すフローチャートである。はじめに遷移パターン毎操作ログ管理テーブル1020から、1レコード取得する(1801)。本レコードは、ある遷移パターンの、あるページの、ログの一覧に相当する。レコードがある場合(S1802で”YES”)にはステップ1803に、ない場合(S1802で”NO”)には処理を完了する。レコードがある場合、レコードからページ内の操作ログ1023を全て取り出す(S1803)。操作ログがない場合(S1804で”NO”)は次のレコードの処理にうつる。操作ログがある場合(S1804で”YES”)、操作ログに対して統計処理を行い、その結果であるページ内操作分析結果を、ページ利用状況カラム1024に記録する(S1805)。ここで、ページ内操作分析のための統計処理は、ページの滞留時間(例えばページ表示時間から無操作時間を引いた時間)、コンテンツ熟読割合(例えばページスクロール情報から算出したページの表示割合)など、ページ内の操作ログから求まる情報である。
 (利用状況評価処理)
 図13は、本発明の実施の形態の利用状況評価部322による処理の一例を示すフローチャートである。はじめに、ステップS1101において、利用状況評価部322は、遷移パターンテーブル1010からレコードを一つ取得する(S1101)。次に、前記取得した遷移パターン中の各ページに関する利用状況を、遷移パターン毎操作ログ管理テーブル1020から取り出す(S1102)。次に、利用状況評価部322は、取得した一つのレコード中の遷移パターン及び操作ログが利用状況評価ポリシーテーブル1200(図14参照)の評価条件に該当するかを検索する(S1103)。
 判定の結果、取得したレコードが利用状況評価ポリシーテーブル1200の評価条件に該当する場合(S1103で”YES”)、評価結果の内容を取得し、取得した評価結果の内容を評価結果リストに追加する(S1103)。
 その後、遷移パターンテーブル1010に未処理のレコードがあるか否かを判定する(S1105)。その結果、遷移パターンテーブル1010に未処理のレコードがあれば(S1105で”YES”)、処理が終了していないレコードがあるので、ステップS1101に戻り、次のレコードを処理する。
 ステップS1101からS1105の処理の繰り返しによって、遷移パターンテーブル1010の全てのレコードに対して利用状況評価処理が実行され、問題点のリストが抽出される。
 図14は、本発明の実施の形態の利用状況評価ポリシーテーブル1200の一例を示す図である。
 図14に示す利用状況評価ポリシーテーブル1200は、遷移パターン1201と、ページ利用状況1210と、評価結果1220とが対応付けられたデータを管理する。遷移パターン1201及びページ利用状況1210は、問題があると判定される条件式が含まれる。具体的には、遷移パターン1201は、評価メトリックス1202、デフォルト閾値1203及び条件1204によって構成され、ページ利用状況1210は、評価メトリックス1211、デフォルト閾値1212及び条件1213によって構成される。また、評価結果1220は、改善対象1221及び改善内容1222によって構成される。
 例えば、利用状況評価ポリシーテーブル1200の1行目によると、リルートの割合が30%以上であり、戻りステップの滞留時間が3秒以下の条件を満たす場合、分岐ステップ(b)は改善対象であり、改善内容1222に記載された改善が望まれる。
 例えば、図15に示すページ間の遷移の場合、URL3のページの利用状況についてリルート発生率が40%で、リルート発生時の平均滞留時間が5秒なので、利用状況評価ポリシーテーブル1200の1行目の条件にマッチし、図16に示すような改善が提案される。
 図17は、本発明の実施の形態の利用状況出力部340による出力例を示す図である。
 図17に示す出力例では、ウェブアプリケーションのページ遷移の表示ページに重ねて改善内容が表示されることによって、開発者は問題点を容易に把握することができる。
 以上説明したように、本発明の実施の形態によると、評価メトリックスが膨大で、問題点を列挙することが困難だった分析作業について、問題点を自動的に列挙することで、分析作業の時間を大幅に削減することが可能となる。
 上記実施例では業務フロー定義の存在するウェブアプリケーションについての一例を説明したが、業務フロー定義が明示的に存在しないウェブアプリケーションについても同様に分析することが可能である。一つの方法としては、図10Aに示したようにページの遷移情報について着目した方法である。この方法ではフロー定義との差異については考慮しない。もう一つの方法としては、各ユーザのルート情報(図8A)に対して統計処理を行い、出現頻度の高いルートを、仮想的に業務フロー定義として利用する方法である。本方法では、頻度の高いルートから外れたルートに対して分析を行うこととなる。

Claims (11)

  1.  ウェブアプリケーションのユーザビリティ評価方法であって、
     ウェブアプリケーションのページ遷移ログと、ページ上での操作ログを取得する第1の手順と、
     前記ページ遷移ログから特定のページ遷移パターンを持つ部分を抽出する第2の手順と、
     前記抽出したページ遷移パターンを構成するページ毎に、前記ページ遷移パターンに該当するページ上の操作ログを関連付けて管理する第3の手順と、
     前記関連付けて管理している操作ログを統計処理しページ利用状況を分析する第4の手順と、
     前記ページ遷移パターンと、前記ページ利用状況を基にユーザビリティ評価する第5の手順と、
     を含むことを特徴とするウェブアプリケーションのユーザビリティ評価方法。
  2.  請求項1に記載のユーザビリティ評価方法であって、
     前記第5の手順は、
     画面遷移パターンに関する第1条件と、画面利用状況に関する第2条件を含む利用状況評価のためのポリシー定義からユーザビリティを分析することを特徴とする評価方法。
  3.  請求項1に記載のユーザビリティ評価方法であって、
     前記第1の手順は、ウェブアプリケーションによって提供される業務の手順を定義する業務フロー定義を取得する手順を含み、
     前記第2の手順は、前記業務フロー定義に従った画面の遷移パターンと異なるパターンで画面が遷移している場合に、前記画面遷移ログから特定の遷移パターンを抽出することを特徴とする評価方法。
  4.  請求項2に記載のユーザビリティ評価方法であって、
     前記ポリシー定義に従って、前記評価の結果の優先度を定める手順を含み、
     前記定められた優先度に基づいて、前記評価結果の表示順序を制御して評価結果を出力することを特徴とする評価方法。
  5.  請求項1に記載のユーザビリティ評価方法であって、
     前記ポリシー定義の第1条件は、前記画面が元の画面に戻る割合が所定の閾値以上であることであり、
     前記ポリシー定義の第2条件は、前記画面の滞留時間が所定の閾値以下又は前記画面の熟読割合が所定の閾値以下であることを特徴とする評価方法。
  6.  請求項1に記載のユーザビリティ評価方法であって、
     前記第2の手順は、抽出ルールを元に処理し、前記抽出ルールは、前記業務フロー定義に従った画面の遷移と逆方向の遷移であることを示す情報を含むことを特徴とする評価方法。
  7.  クライアント装置に提供されたウェブアプリケーションのユーザビリティを評価する分析サーバであって、
     前記クライアント装置で動作するウェブブラウザに表示されるページの遷移と照合される抽出ルールを管理し、
     前記分析サーバは、ページ遷移ログを前記抽出ルールと照合することによって、前記ページ遷移ログから特定の遷移パターンを抽出し、
     前記抽出したページ遷移パターンを構成するページ毎に、ページの出現順毎に操作ログを関連付けて、ログ管理情報に記録し、
     前記関連付けて管理している操作ログを統計処理しページ利用状況を分析し、
     前記ページ遷移パターンと、前記ページ利用状況を基に、前記ウェブアプリケーションを評価することを特徴とする分析サーバ。
  8.  請求項7に記載の分析サーバであって、
     前記クライアント装置にウェブアプリケーションを提供するウェブサーバを含むことを特徴とする分析サーバ。
  9.  クライアント装置に提供されたウェブアプリケーションのユーザビリティを評価する分析サーバにおいて実行されるプログラムであって、
     前記分析サーバは、
     ウェブアプリケーションのページ遷移ログと、ページ上での操作ログを取得する第1の手順と、
     前記ページ遷移ログから特定のページ遷移パターンを持つ部分を抽出する第2の手順と、
     前記抽出したページ遷移パターンを構成するページ毎に、前記ページ遷移パターンに該当するページ上の操作ログを関連付けて管理する第3の手順と、
     前記関連付けて管理している操作ログを統計処理しページ利用状況を分析する第4の手順と、
     前記ページ遷移パターンと、前記ページ利用状況を基にユーザビリティ評価する第5の手順と、
     を前記分析サーバに実行させることを特徴とするプログラム。
  10.  請求項9に記載のプログラムであって、
     前記分析サーバは、
     画面遷移パターンに関する第1条件と、画面利用状況に関する第2条件を含む利用状況評価のためのポリシー定義を管理し、
     前記第5の手順は、画面遷移パターンに関する第1条件と、画面利用状況に関する第2条件を含む利用状況評価のためのポリシー定義からユーザビリティを分析することを特徴とするプログラム。
  11.  請求項9に記載のプログラムであって、
     前記分析サーバは、
     前記ウェブアプリケーションによって提供される業務の手順を定義する業務フロー定義を管理し、
     前記抽出ルールは、前記業務フロー定義に従ったページの遷移パターンと異なる遷移パターンを含み、
     前記第2の手順は、前記業務フロー定義に従ったページの遷移パターンと異なるパターンでページが遷移している場合に、前記ページ遷移ログから特定の遷移パターンを抽出することを特徴とするプログラム。
PCT/JP2010/054161 2010-02-12 2010-03-05 ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム WO2011099170A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/389,451 US8930447B2 (en) 2010-02-12 2010-03-05 Method, apparatus, and program for usability analysis of web applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-029031 2010-02-12
JP2010029031A JP5467888B2 (ja) 2010-02-12 2010-02-12 ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム

Publications (1)

Publication Number Publication Date
WO2011099170A1 true WO2011099170A1 (ja) 2011-08-18

Family

ID=44367467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/054161 WO2011099170A1 (ja) 2010-02-12 2010-03-05 ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム

Country Status (3)

Country Link
US (1) US8930447B2 (ja)
JP (1) JP5467888B2 (ja)
WO (1) WO2011099170A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038489A1 (ja) * 2011-09-13 2013-03-21 株式会社日立製作所 計算機システム、クライアント計算機の管理方法及び記憶媒体

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011002870A (ja) * 2009-06-16 2011-01-06 Hitachi Ltd ウェブアプリケーションの操作性評価・改善方法およびウェブシステム
JP5325177B2 (ja) 2010-08-09 2013-10-23 株式会社日立製作所 ウェブアプリケーションの操作記録方法およびシステム
KR101371338B1 (ko) 2011-10-12 2014-03-26 서울대학교산학협력단 모바일 단말 플랫폼에서의 개인화된 최적화 장치
US20130246595A1 (en) * 2011-10-18 2013-09-19 Hugh O'Donoghue Method and apparatus for using an organizational structure for generating, using, or updating an enriched user profile
US9419868B1 (en) * 2013-05-09 2016-08-16 Amazon Technologies, Inc. Visualization of user behavior
KR20150081762A (ko) * 2014-01-06 2015-07-15 주식회사 앤벗 터치기반 디바이스에서 작동하는 어플리케이션에서 사용자들의 터치행위를 통한 사용성 측정 방법
US9870279B2 (en) 2014-01-29 2018-01-16 Hitachi, Ltd. Analysis apparatus and analysis method
WO2016175823A1 (en) * 2015-04-30 2016-11-03 Hewlett Packard Enterprise Development Lp Detecting transitions
JP2017045238A (ja) * 2015-08-26 2017-03-02 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US10956658B2 (en) * 2018-06-21 2021-03-23 Adobe Inc. Digital content editing of a document object model (DOM) based on object model comparison
EP3614570A1 (en) * 2018-08-22 2020-02-26 EM Microelectronic-Marin SA Near filed communication (nfc) device and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103410A (ja) * 1996-06-17 1998-01-06 Nec Corp ユーザインタフェース評価装置
JP2002123516A (ja) * 2000-10-12 2002-04-26 Fuji Xerox Co Ltd ウェブサイト評価システム、ウェブサイト評価方法、記録媒体
JP2002175240A (ja) * 2000-12-06 2002-06-21 Fuji Xerox Co Ltd ウェブサイト評価システム、ウェブサイト評価方法、及び記録媒体
JP2002222098A (ja) * 2001-01-25 2002-08-09 Mitsubishi Electric Corp ログファイル解析システム及びログファイル解析方法
JP2004102564A (ja) * 2002-09-09 2004-04-02 Fuji Xerox Co Ltd ユーザビリティ評価支援装置
JP2004287716A (ja) * 2003-03-20 2004-10-14 Osaka Gas Co Ltd ユーザビリティ評価改善方法及びシステム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393479B1 (en) * 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
JP2001166981A (ja) * 1999-12-06 2001-06-22 Fuji Xerox Co Ltd ハイパーテキスト解析装置および方法
US7260774B2 (en) * 2000-04-28 2007-08-21 Inceptor, Inc. Method & system for enhanced web page delivery
NZ505662A (en) * 2000-07-10 2003-02-28 Compudigm Int Ltd Visualisation of data representing web site visitor activity
US6661431B1 (en) * 2000-10-10 2003-12-09 Stone Analytica, Inc. Method of representing high-dimensional information
EP1244016A1 (en) * 2001-03-23 2002-09-25 Hewlett-Packard Company User access pattern tracking of computer resources
US20030046385A1 (en) * 2001-04-13 2003-03-06 Netiq Corporation, A Delaware Corporation User-side tracking of multimedia application usage within a web page
US20020186237A1 (en) * 2001-05-16 2002-12-12 Michael Bradley Method and system for displaying analytics about a website and its contents
FI114066B (fi) * 2001-07-24 2004-07-30 Interquest Oy Liikennevirran analysointimenetelmä
US20030154442A1 (en) * 2002-02-13 2003-08-14 Karen Papierniak Visualization tool for web analytics
US7149806B2 (en) * 2002-02-27 2006-12-12 Hewlett-Packard Development Company, L.P. Data access in a distributed environment
US7185085B2 (en) * 2002-02-27 2007-02-27 Webtrends, Inc. On-line web traffic sampling
US20030167195A1 (en) * 2002-03-01 2003-09-04 Fernandes Carlos Nicholas System and method for prioritization of website visitors to provide proactive and selective sales and customer service online
JP3810331B2 (ja) 2002-03-20 2006-08-16 富士通株式会社 サイト監視方法
US20040205119A1 (en) * 2002-03-26 2004-10-14 Streble Mary C. Method and apparatus for capturing web page content development data
US10205623B2 (en) * 2002-06-28 2019-02-12 Adobe Systems Incorporated Custom event and attribute generation for use in website traffic data collection
US20040098229A1 (en) * 2002-06-28 2004-05-20 Brett Error Efficient click-stream data collection
WO2004003701A2 (en) * 2002-06-28 2004-01-08 Omniture, Inc. Capturing and presenting site visitation path data
US7349827B1 (en) * 2002-09-18 2008-03-25 Doubleclick Inc. System and method for reporting website activity based on inferred attribution methodology
US7318056B2 (en) * 2002-09-30 2008-01-08 Microsoft Corporation System and method for performing click stream analysis
JP4273300B2 (ja) 2002-11-01 2009-06-03 国立大学法人東京工業大学 Webアクセスログ解析方法
US8645941B2 (en) * 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8069182B2 (en) * 2006-04-24 2011-11-29 Working Research, Inc. Relevancy-based domain classification
US20080243612A1 (en) * 2007-03-29 2008-10-02 Yahoo! Inc. System and method for using a browser extension to detect events related to digital advertisements
US20090172021A1 (en) * 2007-12-28 2009-07-02 Kane Francis J Recommendations based on actions performed on multiple remote servers
DK2196922T3 (da) * 2008-12-10 2013-03-18 Sitecore As Fremgangsmåde til at opsamle analysedata for menneskelige oplevelser
US8955001B2 (en) * 2011-07-06 2015-02-10 Symphony Advanced Media Mobile remote media control platform apparatuses and methods
US8667074B1 (en) * 2012-09-11 2014-03-04 Bradford L. Farkas Systems and methods for email tracking and email spam reduction using dynamic email addressing schemes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103410A (ja) * 1996-06-17 1998-01-06 Nec Corp ユーザインタフェース評価装置
JP2002123516A (ja) * 2000-10-12 2002-04-26 Fuji Xerox Co Ltd ウェブサイト評価システム、ウェブサイト評価方法、記録媒体
JP2002175240A (ja) * 2000-12-06 2002-06-21 Fuji Xerox Co Ltd ウェブサイト評価システム、ウェブサイト評価方法、及び記録媒体
JP2002222098A (ja) * 2001-01-25 2002-08-09 Mitsubishi Electric Corp ログファイル解析システム及びログファイル解析方法
JP2004102564A (ja) * 2002-09-09 2004-04-02 Fuji Xerox Co Ltd ユーザビリティ評価支援装置
JP2004287716A (ja) * 2003-03-20 2004-10-14 Osaka Gas Co Ltd ユーザビリティ評価改善方法及びシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038489A1 (ja) * 2011-09-13 2013-03-21 株式会社日立製作所 計算機システム、クライアント計算機の管理方法及び記憶媒体

Also Published As

Publication number Publication date
US20120143947A1 (en) 2012-06-07
US8930447B2 (en) 2015-01-06
JP5467888B2 (ja) 2014-04-09
JP2011165059A (ja) 2011-08-25

Similar Documents

Publication Publication Date Title
JP5467888B2 (ja) ウェブアプリケーションのユーザビリティ評価方法、分析サーバ、及び、そのプログラム
JP5175339B2 (ja) ローカルネットワーク内の装置のユーザに適切な情報を提供する方法及びシステム
US8966502B2 (en) Method and system for recording operations in a web application
US20070206584A1 (en) Systems and methods for providing a dynamic interaction router
JP5507469B2 (ja) 格納されたクエリ情報を使用したコンテンツの提供
JP2010128877A (ja) ウェブシステムおよび処理記録収集方法
JP2006127321A (ja) 端末属性後付装置および端末属性後付方法
WO2005114439A1 (en) Method for determining validity of command and system thereof
JP2010165187A (ja) 電子クーポン処理システム
US20190286687A1 (en) Identification of sequential browsing operations
JP2008026972A (ja) ウェブサイト構築支援システム、ウェブサイト構築支援方法およびウェブサイト構築支援プログラム
US20090210863A1 (en) Code-based website experiments
JP5327784B2 (ja) 計算機システム、情報収集支援装置及び情報収集支援方法
KR100611097B1 (ko) 인터넷 검색 내역과 tv 시청 내역을 이용한 방송프로그램 추천 장치 및 그 방법
JP6162134B2 (ja) ソーシャルページのトリガー
KR101055871B1 (ko) 웹 로그의 실시간 분석을 통한 사용자 세션 정보 추출 장치 및 방법
JP2007172091A (ja) 情報推薦装置
US20120023133A1 (en) Document searching system and method
KR100840019B1 (ko) 사용자의 스케쥴 정보를 이용하여 광고를 제공하는 방법 및시스템
KR100676045B1 (ko) 관심사를 반영하여 추출한 정보 제공 방법 및 시스템
KR20180131230A (ko) 식품성분확인 및 대체식품추천 서버 장치 및 방법
JP5673391B2 (ja) 情報処理装置、ログ処理方法、及びプログラム
JP4996504B2 (ja) Sbmサーバ、登録用画面生成方法及びプログラム
KR20120045773A (ko) 어플리케이션 구동 기반 광고 제공 시스템 및 그 방법
US8082259B2 (en) Information processing apparatus for extracting objects

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10845762

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13389451

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10845762

Country of ref document: EP

Kind code of ref document: A1