This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2008-180976, filed on Jul. 11, 2008, the entire contents of which are incorporated herein by reference.
This technique relates to the field of a technique for analyzing a business process flow.
For example, for the purpose of BPR (business process re-engineering), there has been already known a technique by which data produced in a business system employed in enterprises, etc. is collected and analyzed to automatically produce a business process flow. In the technique, since the business process flow is extracted from business data produced by actually conducting business, a frequency at which each business process flow is produced is analyzed to facilitate recognizing a business process flow in frequency, specifying the same as an exceptional flow and alerting a user accordingly. As a related document, there is Japanese Laid-open Patent Publication No. 2005-115494.
According to an embodiment of the invention, a business process flow analyzing apparatus can includes: an extracting unit to extract, from a data storage section, a process instance having a business event associated with a specific attribute, the specific attribute having a range of attribute values, there being stored in the data storage section a plurality of process instances for which a series of business events are arranged in time series, and attribute values of one or a plurality of attributes associated with each business event; a specifying unit to specify transitions between the business events included in the extracted process instance in each given range, and to specify one amongst the given ranges in which the extracted process instance is relatively most changed based on transition between specified business events; and an output unit to produce a flowchart including a flow in which the process instances extracted in the specified process are superimposed on each other, and to output the flowchart to a user interface device.
Advantages, etc., of the invention may be realized and attained by elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Initially, a brief discussion of terminology is presented. A business flow has one or more attributes. Each attribute of the business flow can take on one of a plurality of values, i.e., the attribute can exhibit an attribute value. For the purposes of simplifying the discussion, when discussing the attribute but not a particular value which the attribute may exhibit at a given time, the present discussion will refer to the specific attribute. By contrast, when discussing particular values which a specific attribute may manifest, the present discussion will refer to a value of the specific attribute and/or to an attribute value.
The above-mentioned Background Art technique adopts an idea that a business process flow is classified into a main flow and an exceptional flow based on a frequency at which the business process flow is produced. However, the Background Art technique has focused no attention on an attribute value of an attribute such as “amount” or “numerical quantity” which is associated with the business process flow. For example, the attribute value may be significantly different between a business process flow higher in sales and a business process flow lower in sales. Because the Background Art technique has focused no attention on the value of the attribute, then it is difficult to adaptively change the business process flow according to the attribute value. Also, because the Background Art technique focused no attention on the value of the attribute, it is frequently difficult to manually specify a characteristic point according to a relationship between the attribute value of the specific attribute associated with the business process flow and the business process flow.
A business process flow analyzing method according to this embodiment includes: extracting a process instance having a business event associated with the specific attribute whose attribute value belongs to a given range in each given range of the attribute value of the specific attribute, from a data storage section that stores a plurality of process instances in which a series of business events implemented are arranged in time, and the attribute values of one or a plurality of attributes associated with each business event; specifying transition between the business events included in the extracted process instance in each given range, and specifying the given range in which the extracted process instance is most changed based on transition between the specified business events; and producing a flowchart including a flow in which the process instances extracted in the specified process are superimposed on each other, and outputting the flowchart to an output section.
Also, a process instance producing device 200 is provided in which business data is put together in time series from a database 300 that stores business data produced by the business system (for example, record produced in each business event) therein to produce a large number of process instances. However, the process instance producing device 200 can be realized by the conventional device described in the above background section, and is not a main part in this embodiment. Therefore, further description thereof will be omitted.
An example of data stored in the process instance data storage section 140 will be described with reference to
Subsequently, the processing contents of the business process flow analyzing apparatus 100 will be described with reference to
Subsequently, the input/output section 110 outputs the target attribute to, for example, the process instance extracting section 130, and requests the process instance extracting section 130 to acquire the maximum and minimum values of the target attribute. On the contrary, the process instance extracting section 130 retrieves, for example, the attribute table in the process instance data storage section 140 by the target attribute to acquire the appropriate attribute value, specifies the maximum and minimum values, and outputs the attribute values to the input/output section 110. Upon receiving the maximum and minimum values of the target attribute from the process instance extracting section 130, the input/output section 110 executes display, for example, with a slider shown in
Alternatively, processing in Step S3 is not executed, but a scale being in a range set in correspondence with the attribute in advance may be displayed on the slider 1001.
Subsequently, the input/output section 110 determines whether the user adjusts the lug 1001a of the slider 1001 to set the attribute value of the target attribute, that is, a threshold value of the attribute value, or not (Step S4). When the threshold value has been set, the input/output section 110 acquires a threshold value used in the following processing from setting of the slider 1001, and outputs a process instance extraction request with the target attribute and the threshold value to the process instance extracting section 130 (Step S5). Upon receiving the process instance extraction request with the target attribute and the threshold value from the input/output section 110, the process instance extracting section 130 implements a process instance extracting process (Step S7). The process instance extracting process will be described with reference to
The process instance extracting section 130 specifies one of unprocessed flows (that is, the process instance type) from the flow table of the process instance data storage section 140 (Step S21). Then, the process instance extracting section 130 specifies one of unprocessed process instance IDs corresponding to the specified flow (process instance type) (Step S23). In this situation, the process instance extracting section 130 acquires an event ID belonging to the specified process instance ID from the event table of the process instance data storage section 140 (Step S25). In the example of
Then, the process instance extracting section 130 retrieves an attribute table of the process instance data storage section 140 by the acquired event ID and the target attribute name, and extracts the appropriate attribute value (Step S27). For example, when the process instance extracting section 130 retrieves the attribute table shown in
Further, the process instance extracting section 130 compares the extracted attribute value with the specified threshold value to determine whether the extracted attribute value is equal to or lower than the specified threshold value, or not (Step S29). When the specified threshold value is “600000”, and the extracted attribute value is “400000”, determination is made that the extracted attribute value is equal to or lower than the specified threshold value.
Accordingly, when the extracted attribute value is equal to or lower than the specified threshold value, the process instance extracting section 130 registers the process instance ID specified in Step S23 in the extraction process instance storage section 150 in correspondence with data specifying the flow (process instance type) specified in Step S21 (Step S31). For example, in the same data structure as that of the flow table shown in
Then, the process instance extracting section 130 determines whether the unprocessed process instance ID exists or not (Step S33). When the unprocessed process instance ID exists, processing is returned to Step S23. On the other hand, when no unprocessed process instance ID exists, the process instance extracting section 130 determines whether the unprocessed flow (process instance type) exists, or not (Step S35). When the unprocessed flow (process instance type) exists, processing is returned to Step S21. On the other hand, when no unprocessed flow (process instance type) exists, processing is returned to original processing.
With the above processing, data of the process instance having the target attribute whose attribute value is equal to or lower than the specified threshold value is registered in the extraction process instance storage section 150.
The process instance extracting section 130 outputs data registered in the extraction process instance storage section 150 to the input/output section 110. The input/output section 110 stores data received from the process instance extracting section 130 in a storage device such as a main memory.
Returning to description of the processing of
For example, a flowchart produced when the above-described target attribute is “amount”, and the attribute value being a threshold value is “600000” is shown in, for example,
Then, the input/output section 110 counts the occurrence frequency of each type of the inter-event transitions in all the process instances received from the process instance extracting section 130, and stores the count value in the storage device such as a main memory (Step S11). As shown also in
Thereafter, the input/output section 110 produces a flowchart including the occurrence frequency of each type of the inter-event transitions, which is counted in Step S1, and outputs the flowchart to the user terminal or the user (Step S13). For example, a screen shown in
With execution of the above display, the user can grasp the condition of the process instance associated with the attribute value of the target attribute being equal to or lower than a specific attribute value.
The user can freely specify the threshold value by moving the lug 1001a of the slider 1001, and can find out the attribute value of the target attribute which becomes a change point in a relationship between the attribute value of the target attribute and the configuration of the process instance by adjusting the threshold by the operator.
For example, an example of a flowchart when the threshold value of the target attribute “amount” is set to “500000” in the above-described example is shown in
A flowchart when the threshold value of the target attribute “amount” is set to “800000” in the above-described example is shown in
A flowchart when the threshold value of the target attribute “amount” is set to “1000000” in the above-described example is shown in
Processing is shifted from Step S13 to Step S19, and the input/output section 110 determines whether the completion of processing is instructed by the user, or not (Step S19). When the completion of processing is not instructed by the user, processing is returned to Step S4. Alternatively, processing may be returned to Step S1. On the other hand, when the completion of processing is instructed, processing is completed according to the instruction.
On the other hand, for example, when the change-point extraction button 1002 in the screen example of
Subsequently, the contents of the change-point extracting/display process will be described. First, the change-point extracting section 120 acquires the maximum and minimum values of the target attribute from the attribute table of the process instance data storage section 140 according to data of the target attribute received from the input/output section 110 (Step S41). Then, the change-point extracting section 120 divides a range of from the minimum value to the maximum value into 10 equal intervals (10 equal intervals for example, and other division numbers may be applied), and calculates the upper limit (threshold value) of each interval (Step S43). When the range is from the minimum value “0” to the maximum value “1000000”, a threshold value of a first interval is “100000”, a threshold value of a second interval is “200000”, a threshold value of a third interval is “300000”, a threshold value of a fourth interval is “400000”, a threshold value of a fifth interval is “500000”, a threshold value of a sixth interval is “600000”, a threshold value of a seventh interval is “700000”, a threshold value of an eighth interval is “800000”, a threshold value of a ninth interval is “900000”, and a threshold value of a tenth interval is “1000000”.
Then, the change-point extracting section 120 initializes a counter n to 1 (Step S45), outputs an upper limit (threshold value) of an n-th interval to the process instance extracting section 130, and implements the process instance extracting process for the above threshold value (Step S47). The processing contents are described with reference to
The change-point extracting section 120 superimposes the extracted process instances on each other, counts the number of types of inter-event transitions and the occurrence frequency of each inter-event transition in the extracted process instance, and stores the counted values together with data of a flowchart showing the superimposed results in the storage device such as a main memory (Step S49). The change-point extracting section 120 stores, for example, data shown in
Further, the change-point extracting section 120 calculates a difference between the number of types of inter-event transitions in the n-th interval and the number of types of inter-event transitions in an (n−1)-th interval. Then, the change-point extracting section 120 stores the calculated difference as an incremental number of types of inter-event transitions in the n-th interval in the storage device such as a main memory (Step S51). In the first interval, the increment is set to “0”. As shown in
Then, the change-point extracting section 120 determines whether n reaches 10 (number of intervals), or not (Step S53). When n has not yet reached 10, n is incremented by 1 (Step S55), and processing is shifted to Step S47. On the other hand, when n has reached 10, processing is shifted to the processing of
Shifting description to the processing of
With the above processing, the change-point extracting section 120 extracts a difference between the superimposing result in the specified interval x and the superimposing result in the interval (x−1) from the processing results of Step S49, calculates a difference in the occurrence frequency of each inter-event transition in the interval x and the interval (x−1), and stores the calculated difference in the storage device such as a main memory (Step S59). For example, when it is assumed that the sixth interval is specified, an interval to be compared is the fifth interval. That is, the flowchart shown in
Further, the change-point extracting section 120 calculates the attribute values (that is, the threshold values (upper limits)) of the target attributes corresponding to the interval x and the interval (x−1), and stores the calculated attribute values in the storage device such as a memory (Step S61). When the results of Step S43 can be used, it is only necessary to read the attribute values from the calculation results, particularly, in this step.
Then, the change-point extracting section 120 outputs the attribute values (upper limits) and internal Nos. of the interval x and the interval (x−1), the results of superimposing the process instances in the interval (x−1), the difference in the flow between the interval x and the interval (x−1), the occurrence frequency of each inter-event transitions in the interval (x−1), and the difference in the occurrence frequency of inter-event transitions between the interval x and the interval (x−1) to the input/output section 110.
The input/output section 110 adds the inter-event transition occurrence frequency in the interval (x−1) to the results of superimposing the process instances in the interval (x−1), also adds the difference in the flow from the interval x and the difference in the inter-event transition occurrence frequency from the interval x thereto to produce a flowchart, and outputs the flowchart to an output device such as a display device or a printing device, etc. (Step S63).
For example, in an example of
With the above display, when attention is paid to a specific attribute, the attribute value at which the business process flow changes significantly, if not maximally, can be automatically extracted, and the contents of the change can be so visualized as to be easily understandable.
Similarly, in the example of
One embodiment of this technique has been described above, but this technique is not limited to this embodiment. For example, the process instances are extracted with the fixed lower limit, but the lower limit can be made variable. Further, although the numeric attribute is assumed for the target attribute in the above description, when the appropriate process instance is merely extracted, the attribute being not the numeric attribute can be selected as the target attribute. In this case, the respective attribute values are enumerated in the slider for allowing selection.
Further, the functional block diagram shown in
In the processing flow, the processing order may be changed, or the processing may be executed in parallel when the substantially same processing results are obtained.
Further, a configuration can be made in which the business process flow analyzing device 100 is connected to a network, and implements the above-mentioned processing according to a request from a user terminal connected to the network, and returns the processing results to the user terminal.
In
Also, in configuring the screen in
The configurations according to this technique described above are summarized as follows.
This business process flow analyzing method includes: extracting a process instance having a business event associated with a specific attribute whose attribute value belongs to a given range in each the given range of the attribute value of the specific attribute, from a data storage section that stores a plurality of process instances in which a series of business events implemented are arranged in time series, and the attribute values of one or a plurality of attributes associated with each business event; specifying transitions between the business events included in the extracted process instance in each given range, and specifying the given range in which the extracted process instance is most changed based on transitions between the specified business events; and producing a flowchart including a flow in which the process instances extracted in the specified given range are superimposed on each other, and outputting the flowchart to an output section to an output section (for example, a display device, a printing device, a user terminal connected thereto via a network, etc.).
With implementation of the above processing, a characteristic point can be automatically extracted in a relationship between the attribute value of the specific attribute associated with the business process flow and the business process flow.
The above-mentioned specifying may include firstly specifying the transitions between the business events included in the extracted process instance in each given range, and counting the number of types of transitions between the business events; and a secondly specifying the given range in which the extracted process instance is most changed on the basis of the counted number of types of transitions between the business events. When the number of types of transitions between the business events is changed, since the entire business process flow also changes, the change can be used for making a decision.
Further, the above-mentioned given range may include a plurality of ranges in each of which the minimum value of the specific attribute is fixed as the lower limit, and the upper limit is changed. The above-mentioned secondly specifying may include calculating a difference between the number of types of transitions between the business events in a specific range and the number of types of transitions between the business events in a previous range in ascending or descending order of the upper limit, and specifying a range in which the difference is largest as a given range in which the process instance is most changed. Since the number of types of transitions between the business events is on the increase or on the decrease in the above-mentioned given range, it is possible to calculate the difference in the number of types in order, and extract the given range in which the difference most increases or decreases.
Further, the above-mentioned given range may include a plurality of ranges in each of which the minimum value of the specific attribute is fixed as the lower limit, and the upper limit is changed. The above-mentioned specifying may include comparing transitions between the business events in a specific range with transitions between the business events in a previous range in ascending or descending order of the upper limit, and specifying a first range in which the extracted process instance is most changed, and a second range just before the first range. In this case, the outputting includes extracting the difference between the flow in which the extracted process instances are superimposed on each other in the first range and the flow in which the extracted process instances are superimposed on each other in the second range, and producing the flowchart including a flow in which the extracted process instances are superimposed on each other in the first range so as to emphasize the difference, and outputting the flowchart. With the above processing, the user can easily grasp the business process flow.
Also, the above-mentioned flowchart may include a slider having a scale ranging from the minimum value to the maximum value of the specific attribute and a lug indicative of a value corresponding to the given range in the scale. Further, the flowchart may display the attribute value of the specific attribute corresponding to the specified given range.
The method according to this technique can produce a program executable by a computer, and the program is stored in a computer-readable storage medium or storage device such as a flexible disc, a CD-ROM, a magneto-optical disc, a semiconductor memory, or a hard disc. Also, the program may be distributed by digital signals via a network. Data that is being processed is temporarily stored in the storage device such as a memory of the computer.
Also, the business process flow analyzing device 100 is a computer device, and as shown in
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2008-180976 | Jul 2008 | JP | national |