WO2011055801A1 - 共同開発支援システム、共同開発支援方法及び記録媒体 - Google Patents

共同開発支援システム、共同開発支援方法及び記録媒体 Download PDF

Info

Publication number
WO2011055801A1
WO2011055801A1 PCT/JP2010/069751 JP2010069751W WO2011055801A1 WO 2011055801 A1 WO2011055801 A1 WO 2011055801A1 JP 2010069751 W JP2010069751 W JP 2010069751W WO 2011055801 A1 WO2011055801 A1 WO 2011055801A1
Authority
WO
WIPO (PCT)
Prior art keywords
operation history
history information
information
correction
input
Prior art date
Application number
PCT/JP2010/069751
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 JP2011539407A priority Critical patent/JP5637143B2/ja
Priority to US13/508,069 priority patent/US20120266128A1/en
Publication of WO2011055801A1 publication Critical patent/WO2011055801A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Definitions

  • the present invention relates to a joint development support system, a joint development support method, and a recording medium. More specifically, the present invention relates to a joint development support system, a joint development support method, and a recording medium in which a plurality of people jointly develop software.
  • Patent Document 1 discloses that a series of operation history groups performed based on a user's intention is extracted with a small amount of processing from a huge amount of operation histories that are randomly generated and accumulated.
  • a document management system that can be used is described. The document management system divides and records the accumulated operation history into small history columns for each user within a predetermined time range and arranged in time series.
  • Patent Document 2 discloses a data processing system capable of giving accurate advice to a user who has an operation trouble by performing a predetermined process for knowing an operation tendency based on an operation history of the user. Is described.
  • Patent Document 3 describes an operation assistance method that provides a method of assisting an operation by estimating an appropriate operation when a user operation is monitored and it is determined that the operation is erroneous.
  • Patent Document 4 describes that in a system in which a document or the like is edited jointly by a plurality of participants, a system that reduces the effort required to identify related participants is described.
  • the technique analyzes a user's operation history and identifies related participants from the history stored in the operation history storage unit based on a predetermined condition.
  • Patent Document 5 describes a method of storing personal parameters of a person assigned to a job type and automatically sending a processing request to a person who is established as appropriate when the job request arrives. Has been.
  • Patent Document 6 describes a method for providing technical support via a communication network. For example, a purchaser of a product or service executes a computer program to have knowledge about a specific product. It is possible to provide a product that can establish an intelligent routing support request to
  • the first problem of the related technology described above is that a profile must be created in advance in order to use the system. Further, the familiarity of the operator increases with experience, and the items that can be handled by the operator from the side that learns from the side increase as time passes. Therefore, it is necessary to constantly update the profile.
  • the second problem is that the familiarity of a fine area such as a specific function in programming cannot be described in the profile.
  • the programming here refers to the coding work of writing a program mainly. This is because the determination of items to be described in the profile differs depending on the person, and when the items are subdivided, not only the amount of description increases but also problems such as taking too much time occur.
  • the subdivision of items means, for example, gradually dividing the contents into large headings, medium headings, and subheadings.
  • the present invention has been made in view of the above-described circumstances, and an object thereof is to provide a joint development support system, a joint development support method, and a recording medium for constructing a database that can cope with changes in the familiarity of an operator. .
  • the joint development support system is: Information acquisition means for acquiring operation history information associating operation histories of terminal input devices by a plurality of operators and operation times of the input devices, and identification code information respectively associated with the plurality of operators; , A distribution unit that divides the operation history information acquired by the information acquisition unit into an operation group that is a set of continuous operations according to a predetermined condition;
  • the operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • calculating means for calculating familiarity expressed using the index
  • Storage means for associating the operation history information and identification code information acquired by the information acquisition means with the familiarity calculated by the calculation means and storing them in the operation history database; It is characterized by providing.
  • the joint development support method is: A joint development support method performed by a server that accepts operation inputs of a plurality of operators, An information acquisition step of acquiring operation history information in which operation history of the input device of the terminal by the plurality of operators and operation of the input device are associated, and identification code information respectively associated with the plurality of operators. , A distribution step of dividing the operation history information acquired by the information acquisition means into an operation group which is a set of continuous operations according to a predetermined condition; The operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • a calculation step for calculating the familiarity expressed using the index For each operation group divided in the distribution step, a calculation step for calculating the familiarity expressed using the index; A storage step of associating the operation history information and the identification code information acquired in the information acquisition step with the familiarity calculated in the calculation step and storing them in the operation history database; It is characterized by providing.
  • a computer-readable recording medium for acquiring operation history information of a terminal input device by a plurality of operators, operation history information associating operation times of the input device, and identification code information respectively associated with the plurality of operators ,
  • a distribution unit that divides the operation history information acquired by the information acquisition unit into an operation group that is a set of continuous operations according to a predetermined condition;
  • the operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • Calculating means for calculating the degree of familiarity expressed using the indicator for each operation group divided by the distributing means, Storage means for storing the operation history information and identification code information acquired by the information acquisition means and the familiarity calculated by the calculation means in association with each other in the operation history database; Record the program that will function as
  • FIG. 1 It is a block diagram which shows the structural example of the joint development assistance system which concerns on Embodiment 1 of this invention. It is a figure which shows the example of operation history information.
  • 4 is a flowchart illustrating an example of an information acquisition operation of the joint development support system according to the first embodiment.
  • 6 is a flowchart illustrating an example of a joint development support operation of the joint development support system according to the first embodiment.
  • It is a block diagram which shows the structural example of the joint development assistance system which concerns on Embodiment 2 of this invention.
  • 10 is a flowchart illustrating an example of a joint development support operation of the joint development support system according to the second embodiment.
  • 10 is a flowchart illustrating an example of an information presentation operation of the joint development support system according to the second embodiment. It is a block diagram which shows the structural example of the joint development assistance system which concerns on Embodiment 3 of this invention. It is a figure which shows the example of operation history information. 10 is a flowchart illustrating an example of a joint development support operation of the joint development support system according to the third embodiment. It is a block diagram which shows the structural example of the joint development assistance system which concerns on Embodiment 4 of this invention. 10 is a flowchart illustrating an example of a joint development support operation of the joint development support system according to the fourth embodiment. It is a block diagram which shows an example of the hardware constitutions of a joint development assistance system.
  • the degree of familiarity refers to the degree of detailed knowledge of an object such as how to operate the input device, and it is estimated that the higher the degree of familiarity, the more familiar the subject is. For example, when developing software that performs some processing, the speed of operation, the number of correction operations, the number of invalid operations, and the like, which are indicators of familiarity, are obtained. It is estimated that the faster the operation, the fewer the correction operations, and the fewer invalid operations, the higher the familiarity, and the more detailed the software development that performs the processing of the target.
  • a collaborative development support system 100 includes a server 1 and a plurality of terminals 2 connected via a network N as shown in FIG.
  • the server 1 includes an information acquisition unit 11, a storage unit (recording unit) 12, a distribution unit 13, a calculation unit 14, a communication unit 17, and an operation history database 121.
  • the communication unit 17 is connected to the network N.
  • the terminal 2 is an information processing apparatus including an input device (a keyboard in the present embodiment).
  • the terminal 2 is connected to the network N via a communication device (not shown).
  • the information acquisition unit 11 of the server 1 identifies the operation history information 112 including the history of operations input by the operator from the keyboard of the terminal 2 via the communication unit 17 connected to the network N, and the identification for identifying the terminal 2 Code information 111 is acquired.
  • a method of acquiring information there are a method of sequentially acquiring and a method of acquiring the accumulated operation histories collectively when a predetermined amount of operation histories are accumulated. For example, every 20 seconds after the first confirmation of the operation history, the operation history for the immediately preceding 20 seconds is acquired together.
  • the predetermined amount can be set not only by the time but also by the number of operations such as the number of keyboard hits and the history information amount.
  • the storage unit 12 associates the identification code information 111 acquired by the information acquisition unit 11 with the operation history information 112 and stores (records) it as operation history data in an operation history database (hereinafter referred to as operation history DB) 121. To do.
  • the storage unit 12 also stores (records) familiarity information calculated by the calculation unit 14 (to be described later) in the operation history DB 121 together with the operation history data.
  • the distribution unit 13 divides the operation history into operation groups that are sets of continuous operations. For example, when creating a program, the amount from the next line of “END” to “END” is set as one set, or the time from opening a file to opening a different file is set as one set. May be determined.
  • the calculation unit 14 indicates the degree of familiarity expressed by using an index including a speed at which the keyboard of the terminal 2 is operated, a correction operation indicating an operation for correcting the operation, or an invalid operation indicating an operation such as a pointer movement without input. calculate.
  • the speed at which the keyboard of the terminal 2 is operated indicates an average typing time.
  • the operation of moving the pointer without input means the number of times the cursor key is operated when scrolling the screen, moving the cursor by operating the mouse, and the like.
  • the calculation method of the familiarity is set to a predetermined method according to an index for obtaining the familiarity.
  • the operation history information 112 in FIG. 2 is operation history information when the operator inputs “hello world” with the keyboard.
  • the key symbols on the keyboard of the terminal 2 operated by the operator and the time when the key is pressed are described in descending order in the information acquisition order.
  • “Helloworld” is an operation history.
  • the key symbol in the table refers to the key symbol of the pressed keyboard, and the time refers to the time taken from when the previous key is pressed until the next key is pressed. It can be seen that the time taken for input is all 0.4 seconds or less until the fifth character, whereas it takes all 0.8 seconds or more after the sixth character.
  • the joint development support system 100 receives the operation of the terminal 2 from the communication unit 17 via the network N and operates the server 1.
  • the information acquisition unit 11 of the server 1 sets the time when the operation of the terminal 2 is first received as zero time, and receives and accumulates it at the communication unit 17 every time a predetermined time elapses.
  • the previous operation history information 112 is acquired collectively.
  • the communication unit 17 receives that the operation of the terminal 2 has been performed, the communication unit 17 also receives the identification code information 111 of the terminal 2 together, and the information acquisition unit 11 receives the information of the identification code information 111. get.
  • the information acquisition unit 11 transmits the acquired identification code information 111 and operation history information 112 to the storage unit 12.
  • the storage unit 12 generates or updates the operation history data in the operation history DB 121 as the operation history data by associating the identification code information 111 received from the information acquisition unit 11 with the operation history information 112.
  • the distribution unit 13 divides the operation history information 112 into an operation group that is a set of continuous operations.
  • the calculation unit 14 calculates the degree of familiarity by a predetermined method based on the average typing time, the number of times a key for performing a correction operation is pressed, and the like. At this time, the storage unit 12 also stores the degree of familiarity in the operation history DB 121 in association with the operation history data.
  • an operator who uses the joint development support system 100 operates the terminal 2.
  • the communication unit 17 of the joint development support system 100 receives the operation history information 112 that is a history of operating the terminal 2 and the identification code information 111 of the terminal 2 via the network N (step S11).
  • the information acquisition unit 11 acquires the information received by the communication unit 17 (step S12).
  • the storage unit 12 stores the identification code information 111 acquired by the information acquisition unit 11 and the operation history information 112 in association with each other in the operation history DB 121 as operation history data (step S13). If there is information to be received next by the communication unit 17 (step S14; YES), the joint development support system 100 returns to step S11 and receives the information. If there is no information to be received next (step S14; NO), the information acquisition operation is terminated.
  • the information acquisition operation of FIG. 3 is performed to acquire the information of the identification code information 111 and the operation history information 112 (step S21).
  • the distribution unit 13 divides the operation history information 112 into an operation group that is a set of continuous operations (step S22). Based on the average typing time, the number of times the key for performing the correction operation, and the like, the calculation unit 14 calculates and stores the familiarity for each operation group of the operation history information 112 by a predetermined method (step S23). Then, joint development support operation 1 is completed.
  • the joint development support system 100 since the joint development support system 100 stores the operation history of the operator who uses the joint development support system 100 and updates the data, the operation history is adjusted according to the change in the familiarity of the operator. Can build a database. At that time, the familiarity of the operator is stored and stored in the database together with the operation history. Therefore, by using the joint development support system 100, it is possible to obtain the operator, the operation history information, and the familiarity information regarding the operation. By referring to the information, it becomes easy to select a person who can provide accurate support. In addition, since it is not necessary for the operator to create a database, it is not time-consuming, and since information about the operation history is covered, there is no possibility of omission of recording.
  • a corresponding operator can be extracted from the identification code information 111 given to the terminal 2.
  • the terminal 2 is used in common, when the operator uses the terminal 2, the operator can be extracted by inputting and recognizing an identification code such as an ID given to the operator individually. it can.
  • keyboard input is described as an example. However, the number of clicks of the mouse, extraction of command information corresponding to the mouse position, input with a touch pen, or the like can be arbitrarily set.
  • the joint development support system 100 according to the present embodiment presents a person with a high degree of familiarity who has performed an operation similar to the operator as a candidate for the supporter.
  • the joint development support system 100 according to the present embodiment includes a selection unit 15 and an information presentation unit 16.
  • the calculation unit 14 that calculates the familiarity includes a speed measurement unit 141 and an input determination unit 142.
  • the basic configuration is the same as in the first embodiment.
  • the speed measurement unit 141 receives the operation history information 112 from the storage unit 12 via the distribution unit 13. Further, the speed measuring unit 141 measures the time taken to hit the key and the speed at which the key is hit, from information on the time when the key on the keyboard is pressed. The speed at which the key is hit is defined as the average typing speed.
  • the average typing speed is for the operator and for all operators. In the comparison of the average typing speed, the comparison method can be arbitrarily set, such as comparing with the average speed of all the operators or comparing the normal average speed of the operators with the average speed of the current operation.
  • the input determination unit 142 receives the operation history information 112 from the storage unit 12 via the distribution unit 13. Based on the operation history information 112, the input determination unit 142 determines whether an operation with a certain key symbol is a correction operation or an invalid operation. As described above, the correction operation refers to an operation for correcting the operation, and the invalid operation refers to a pointer movement without input. Specifically, it is determined that the operation is a correction operation with respect to a history of “BS” which is an operation of returning one character in a symbol which is not a character string in a key symbol, or “Esc” which is an cancel operation. To do.
  • BS which is an operation of returning one character in a symbol which is not a character string in a key symbol
  • Esc which is an cancel operation.
  • an operation that is neither a character string input nor a correction operation is an invalid operation, such as a key operation or a mouse operation for moving a cursor without character input, or when a selected command is canceled halfway.
  • a key symbol serving as a criterion for determining a correction operation or an invalid operation can be arbitrarily selected.
  • mouse click operations and operations such as printing and overwriting may be included in invalid operations.
  • the calculation unit 14 calculates the familiarity of the operator based on the speed at which the key is measured by the speed measurement unit 141, the average typing time, the number of times that the input determination unit 142 determines that the correction operation or the invalid operation is performed, and the like. . For example, the result of comparing the average typing speed of all the operators with the typing speed of the operators and the number of invalid operations are used.
  • the degree of familiarity calculation method can be arbitrarily set, for example, by comparing the typing speed in the previous history of the same operator with the latest typing speed or by determining the change in the ratio of corrective operations.
  • the selection unit 15 selects the operation history information 112 acquired from the operation history DB 121 and operation history data that conforms to a predetermined condition.
  • the predetermined condition can be arbitrarily set.
  • the selection unit 15 is, for example, an operation history in which the operation history information 112 and the operation history in the operation history DB 121 are overlapped by a predetermined number or more, are operation history data determined to be similar, and have a large familiarity value.
  • the program may be set under the condition of data. For example, with respect to the similarity determination, conditions are set in advance such as determining that the overlapping ratio is equal to or greater than a predetermined value from the input character record.
  • FIG. 6 is a diagram illustrating an example of the operation history information 112.
  • “BS” indicates that the backspace key for deleting the character on the left side of the cursor is pressed
  • “EN” indicates that the enter key for executing, confirming, or returning a line is pressed.
  • the time is the time taken from when the previous key is pressed to when the key is pressed, as in the first embodiment. For the time, information on the time when the key is pressed may be acquired.
  • FIG. 7 is a diagram showing examples of character string lengths and target words. Take the case where “computer” is input as an example.
  • a typing character refers to a set of key symbols represented in the order in which keys are entered.
  • a predicted word refers to a word that is predicted to be input for a typing character.
  • the number of target words refers to the number of words predicted to be input. As the number of characters that are character string lengths increases, the number of target words decreases. An example of a word is given here, but it may be a sentence.
  • the selection unit 15 selects 18 words of predicted words if the condition is to select data that matches the length of five characters from the first character. (Ie data). If the condition is that data having the same length for 6 characters is selected, the selection unit 15 selects “computer”, which is one predicted word. Furthermore, an operator having a history of inputting the word is extracted from the operation history data based on the identification code information. At that time, the familiarity of the operator and the extracted familiarity of the operator are compared, and only an operator having a higher familiarity can be selected.
  • the information presentation unit 16 converts the data including the identification code information 111 into data that can be presented based on the operation history data selected by the selection unit 15 and transmits the data to the terminal 2 via the communication unit 17. For example, the name of the operator represented by the identification code of the extracted identification code information 111 is presented on the screen to the operator who uses the joint development support system 100. In addition, the degree of familiarity calculated by the calculation unit 14 may be displayed.
  • the calculation unit 14 receives information related to the operation group from the distribution unit 13 and calculates the familiarity for each operation group of the operation history information 112.
  • the speed measurement unit 141 extracts the operation included in the operation group and the time when the operation was performed from the operation history data of the operation history DB 121. Then, in accordance with the condition for calculating the degree of familiarity, the time is converted into a necessary form such as time required for typing.
  • the calculation unit 14 receives information from the speed measurement unit 141 and calculates the familiarity based on a predetermined condition. For example, a case where “helloworld” in FIG. 2 is input will be described.
  • the degree of familiarity is set as a ratio of the number of times of typing within the reference time with respect to the total number of operations.
  • the standard typing time is 0.4 seconds.
  • the calculation unit 14 determines whether the typing time is within 0.4 seconds for each operation, and calculates the total number of operations and the number of times of typing within the time to calculate the ratio. Since the total number of operations is 10 and the number of typings in time is 4, the familiarity is 40%.
  • the calculation unit 14 receives information related to the operation group from the distribution unit 13 and calculates the familiarity for each operation group of the operation history information 112.
  • the input determination unit 142 extracts operations included in the operation group from the operation history data in the operation history DB 121. Then, in accordance with the condition for calculating the familiarity, it is determined whether the key symbol in the history of pressing the keyboard is a correction operation or an invalid operation.
  • the calculation unit 14 calculates the familiarity based on information from the input determination unit 142.
  • a preprogrammed condition is received by receiving an operation history of keyboard key presses in the order of “a”, “b”, “d”, “BS”, “e”, “EN”. Accordingly, the input determination unit 142 determines whether the operation is a correction operation.
  • the target condition for the correction operation is the operation history of “BS” and “Esc”, and therefore, “BS” corresponds in FIG.
  • the input determination unit 142 sends information that there is a correction operation to the calculation unit 14.
  • the calculation unit 14 calculates the familiarity based on a predetermined condition. For example, the degree of familiarity is set in advance when it is obtained as a ratio of the number of times that is not a correction operation to the total number of operations. The invalid operation is not included in the number of operations. First, the calculation unit 14 obtains the total number of operations, the number of correction operations, and the number of invalid operations, and calculates the number of times that are not correction operations. Next, the ratio of the number of times that is not a correction operation to the total number of operations is calculated. Since the number of invalid operations is not included in the total number of operations, the total number of operations is 6 and the number of non-correcting operations is 5. Therefore, the familiarity is 83.3%.
  • the selection unit 15 selects, from the operation history DB 121, operation history data that matches a predetermined condition for the operation history information 112. Then, the identification code information is extracted from the operation history data, and the information presentation unit 16 creates data according to the format of the presentation data to be presented to the operator, and sends the presentation data to the communication unit 17.
  • the communication unit 17 presents information to the terminal 2 via the network N. The information presented at this time is the identification code information 111 corresponding to the operation history selected by the selection unit 15, the operation history information 112 at that time, and the name and familiarity of the operator who has the identification code information 111. is there.
  • FIG. 8 and 9 are flowcharts showing an example of the operation of the joint development support system according to the second embodiment.
  • FIG. 8 shows the joint development support operation 2
  • FIG. 9 shows the information presentation operation.
  • the information acquisition operation is the same as the operation of the joint development support system according to the first embodiment.
  • the information acquisition in step S21 indicates the information acquisition operation in FIG.
  • the distribution unit 13 divides the operation history information 112 into an operation group that is a set of continuous operations (step S21). S22).
  • the calculating unit 14 confirms whether the condition for calculating the familiarity includes a condition related to the typing speed of the operator (step S31). If there is a condition regarding the typing speed (step S31; YES), the speed measuring unit 141 measures the typing speed (step S32). If there is no condition regarding the typing speed (step S31; NO), the process proceeds to step S33 as it is.
  • the calculation unit 14 confirms whether or not the predetermined condition for calculating the familiarity includes a condition related to input determination such as correctness of the input content (step S33). If there is a condition regarding input determination (step S33; YES), the input determination unit 142 determines the input content (step S34).
  • the calculation unit 14 determines the familiarity for each operation group of the operation history information 112 by a predetermined method. Calculate and store in the storage unit 12 (step S23). If there is no condition regarding input determination (step S33; NO), the process proceeds to step S23 as it is. When the calculation / storage of the familiarity in step S23 is completed, information is presented (step S40). Then, joint development support operation 2 is completed.
  • step S40 shows the operation of step S40 in the joint development support operation 2 of FIG.
  • the joint development support system 100 extracts identification code information 111, operation history information 112, and familiarity information (step S41). And the selection part 15 selects the operation history data of the operation group corresponding to the acquired information from operation history DB121 (step S42).
  • the information presentation unit 16 creates presentation data including the identification code information 111 (step S43), and the communication unit 17 transmits and presents the presentation data to the terminal 2 via the network N (step S44). Then, the information presentation operation is finished.
  • the operation history of the operator who uses the joint development support system 100 is stored and the data is updated, it is possible to construct an operation history database in accordance with the change in the familiarity of the operator. it can.
  • information about a person familiar with the operation can be presented each time, and the operator can know the operator who is familiar with the work.
  • by calculating and comparing the degree of familiarity it becomes possible to select a person who is familiar with the work. As a result, it is possible to select a person who can provide accurate support, and the operator can obtain support from a person with a higher level of familiarity.
  • the determination of the similarity of the operation history performed by the selection unit 15, that is, the collation of the data stored in the database of the joint development support system 100 and the operation history of the operator can be arbitrarily set.
  • the data amount of the operation history used for collation for a predetermined time or a predetermined number of characters from the start of the operation history, it is possible to provide support suitable for the operator. For example, if the predetermined number of characters is increased, the number of operation histories to be collated is reduced and the number of corresponding operators is also reduced, but operators with more consistent operation histories can be extracted and selected.
  • the predetermined number of characters when the predetermined number of characters is reduced, the number of operation histories to be collated and the number of operators are increased, but many operators can be presented to the operator who uses the joint development support system 100. Can select a supporter who seems to be preferable among many subjects. When presenting an operator as a supporter, operation history information and familiarity may be disclosed together.
  • the joint development support system 100 analyzes the operation history of the operator, and determines the similarity of the operation history after eliminating the possibility of an operation error or the like.
  • the joint development support system 100 according to this embodiment includes a correction unit 18 in addition to the configuration of the second embodiment.
  • the correction unit 18 creates a correction history that is a history reflecting the content of the operation determined by the input determination unit 142 as a correction operation.
  • a correction history which is a history that excludes an operation determined to be an invalid operation, is created. It may also be set to reflect predicted input mistakes such as English spelling mistakes and capitalization.
  • the example of the operation history information 112 shown in FIG. 11 is an example in which the terminal 2 operated by the operator is a keyboard, and is the operation history similar to that of the first embodiment.
  • the input (A) in FIG. 11A is a case where recording is performed only when the key symbol of the input operation history is a character string, and the operation history at that time is shown in FIG.
  • Input (B) in FIG. 11 (a) is a case where the function key of the key symbol of the input operation history is reflected and recorded, and the operation history at that time is shown in FIG. 11 (c). Since “BS” is a backspace key for deleting the character on the left side of the cursor, it is considered that the character “d” is input by mistake.
  • FIG. 11B shows a list of actually operated character strings, but FIG. 11C shows a character string to be input.
  • the information acquisition operation is the same as the information acquisition operation of FIG. 3 shown in the first embodiment
  • the information presentation operation is the same as the information presentation operation of FIG. 9 shown in the second embodiment.
  • the information acquisition in step S21 indicates the information acquisition operation shown in the first embodiment in FIG.
  • the information acquisition unit 11 acquires information of the identification code information 111 and the operation history information 112 (step S21), and the distribution unit 13 divides the operation history information 112 into an operation group that is a set of continuous operations (step S22). .
  • the input determination unit 142 determines the input content (step S51). In this determination, it is determined whether there is an operation history correction operation or an invalid operation. If there is an operation history correction operation or an invalid operation, the correction is necessary (step S52; YES), the correction operation is reflected according to the function of the key symbol, or the invalid operation is excluded and the operation history is excluded. Correction is performed (step S53), and the process proceeds to step S23. In step S53, for example, in the example of FIG. 11 described above, if “BS” exists in the operation history, the operation history “d” immediately before “BS” is deleted. If correction is not necessary (step S52; NO), the process proceeds to step S23.
  • the calculation unit 14 calculates and stores a familiarity level for each operation group of the operation history information 112 by a predetermined method based on the corrected operation history information (step S23). Then, information is presented (step S40), and the joint development support operation 3 is finished.
  • the corrected operation history information corrected and created in step S53 may be stored in the operation history DB 121. Further, if it is not necessary to present the information in step S40, the joint development support operation 3 may be terminated after the familiarity is calculated and stored in step S23.
  • the collaborative development support system 100 searches for similar operation histories after determining an input mistake or the like in the input operation histories.
  • FIG. 13 is a block diagram showing a configuration example of a joint development support system according to Embodiment 4 of the present invention.
  • the joint development support system 100 according to the present embodiment determines whether to present a support person based on the familiarity of the operation performed by the operator.
  • the joint development support system 100 according to the present embodiment includes a determination unit 19 in addition to the configuration of the second embodiment.
  • the determination unit 19 determines whether the familiarity calculated by the calculation unit 14 is within a predetermined range, and determines that support is required if it is within the predetermined range. In addition to providing development support to an operator who is determined to have a low degree of familiarity, assistance may be provided to an operator having a high degree of familiarity. When providing assistance when the level of familiarity is high, the setting is limited to cases where the familiarity of the operator presented at the time of assistance is sufficiently higher than the familiarity of the operator on the supported side. May be performed.
  • the criteria for determining whether the determination unit 19 needs support and the predetermined range used for the determination are programmed in the joint development support system 100 based on data prepared beforehand by statistics or the like. .
  • FIG. 14 is a flowchart showing an example of the joint development support operation of the joint development support system according to the present embodiment.
  • the information acquisition operation is the same as the information acquisition operation of FIG. 3 shown in the first embodiment and the information presentation operation is the same as the information presentation operation of FIG. 9 shown in the second embodiment.
  • the information acquisition in step S21 refers to the information acquisition operation of FIG.
  • the distribution unit 13 divides the operation history information 112 into an operation group that is a set of continuous operations (step S22). ).
  • the calculation unit 14 calculates and stores a familiarity degree by a predetermined method based on the average typing time, the number of times the key for performing the correction operation is pressed, and the like (step S23).
  • the determination unit 19 determines the familiarity by comparing the set predetermined value with the calculated value (step S61). If the degree of familiarity is within a predetermined range (step S62; YES), the determination unit 19 determines that support is necessary, and proceeds to information presentation (step S40). If the degree of familiarity is not within the predetermined range (step S62; NO), the determination unit 19 determines that no support is required, and the process ends. Then, joint development support operation 4 is completed.
  • the joint development support system 100 can calculate the familiarity of the operator and can provide support as necessary. Further, the joint development support system 100 can recommend a more suitable person in consideration of the familiarity of the operator. Further, by determining whether or not development support is necessary and presenting a supporter only when necessary, wasteful use of resources such as computers can be minimized.
  • FIG. 15 is a block diagram showing an example of a hardware configuration of the joint development support system shown in FIG.
  • the joint development support system 100 includes a control unit 31, a main storage unit 32, an external storage unit 33, an operation unit 34, a display unit 35, an input / output unit 36, and a transmission / reception unit 37.
  • the main storage unit 32, the external storage unit 33, the operation unit 34, the display unit 35, the input / output unit 36 and the transmission / reception unit 37 are all connected to the control unit 31 through the internal bus 30.
  • the control unit 31 includes a CPU (Central Processing Unit) and the like, and according to a control program 40 stored in the external storage unit 33, the information acquisition unit 11, storage unit 12, distribution unit 13, and calculation unit of the joint development support system 100. 14, each process of the selection part 15, the information presentation part 16, the communication part 17, etc. is performed.
  • a CPU Central Processing Unit
  • the main storage unit 32 is composed of a RAM (Random-Access Memory) or the like, loads the control program 40 stored in the external storage unit 33, and is used as a work area of the control unit 31.
  • RAM Random-Access Memory
  • the external storage unit 33 includes a non-volatile memory such as a flash memory, a hard disk, a DVD-RAM (Digital Versatile Disc Random Access Memory), a DVD-RW (Digital Versatile Disc Disc ReWritable), and the like.
  • a program to be executed by the control unit 31 is stored in advance. Further, in accordance with an instruction from the control unit 31, the data stored in the program is supplied to the control unit 31, and the data supplied from the control unit 31 is stored.
  • the storage unit 12 and the operation history DB 121 of the joint development support system 100 are configured in the external storage unit 33. Further, the operation history DB 121 may be configured in the external storage unit 33.
  • the operation unit 34 includes a pointing device such as a keyboard and a mouse, and an interface device that connects the keyboard and the pointing device to the internal bus 30. An operation of the operator is input via the operation unit 34 and supplied to the control unit 31.
  • the display unit 35 is configured by a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), and displays operation history information and the like.
  • the input / output unit 36 includes a serial interface or a parallel interface. If the terminal 2 is an apparatus to which the terminal 2 is attached, the input / output unit 36 is connected thereto.
  • the transmission / reception unit 37 includes a network termination device or a wireless communication device connected to the network N, and a serial interface or a LAN (Local Area Network) interface connected to them.
  • the transmission / reception unit 37 receives information such as an operation history via the network N.
  • the terminal 2 is a terminal device different from the joint development support system 100, for example, the terminal 2 is connected to the terminal 2 via the network N via the transmission / reception unit 37.
  • the control program 40 is executed by processing using the control unit 31, the main storage unit 32, the external storage unit 33, the operation unit 34, the display unit 35, the input / output unit 36, the transmission / reception unit 37, and the like as resources.
  • the central part that performs the joint development support process composed of the information acquisition unit 11, the storage unit 12, the distribution unit 13, the calculation unit 14, the selection unit 15, the information presentation unit 16, the communication unit 17, etc. is a dedicated system. Regardless, it can be realized using a normal computer system.
  • a computer program for executing the above operation is stored and distributed in a computer-readable recording medium (flexible disk, CD-ROM, DVD-ROM, etc.), and the computer program is installed in the computer.
  • a joint development support system that executes the above-described processing may be configured.
  • the computer program may be stored in a storage device included in a server device on a communication network such as the Internet, and the common development support system may be configured by being downloaded by a normal computer system.
  • the computer program may be posted on a bulletin board (BBS, Bulletin Board System) on a communication network, and the computer program may be distributed via the network.
  • BSS bulletin Board System
  • the computer program may be started and executed in the same manner as other application programs under the control of the OS, so that the above-described processing may be executed.
  • Information acquisition means for acquiring operation history information associating operation histories of terminal input devices by a plurality of operators and operation times of the input devices, and identification code information respectively associated with the plurality of operators; , A distribution unit that divides the operation history information acquired by the information acquisition unit into an operation group that is a set of continuous operations according to a predetermined condition;
  • the operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • a joint development support system characterized by comprising:
  • Appendix 2 A determination means for performing similarity determination by comparing operation history information of an operator who has operated the input device with operation history information stored in the operation history database under a predetermined condition; The similarity determined by the determination means is a predetermined value, and the familiarity obtained based on the operation history information of the operator who operated the input device in the operation history information operation group in which the determination is performed. Selection means for selecting the operation history information stored in the operation history database when the familiarity required based on the operation history information stored in the operation history database is higher than The operator identification code information stored in association with the operation history information selected by the selection means is extracted from the operation history database, and the operator identification code information is presented to the operator who has operated the input device. Presentation means; The joint development support system according to appendix 1, characterized by comprising:
  • Appendix 3 Input determination means for determining a correction operation or an invalid operation based on the operation history information; Reflecting the correction operation of the operation history information determined by the input determining means, or excluding invalid operations, a correcting means for creating a correction operation history,
  • Appendix 4 Input determination means for determining a correction operation or an invalid operation based on the operation history information; Reflecting the operation history information correction operation determined by the input determining means, or excluding invalid operations, and correcting means for creating a correction operation history, The joint development support system according to appendix 2, wherein the determination unit performs similarity determination based on a correction operation history created by the correction unit.
  • the operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • a calculation step for calculating the familiarity expressed using the index For each operation group divided in the distribution step, a calculation step for calculating the familiarity expressed using the index; A storage step of associating the operation history information and the identification code information acquired in the information acquisition step with the familiarity calculated in the calculation step and storing them in the operation history database;
  • a joint development support method characterized by comprising:
  • the similarity determined in the determination step is a predetermined value, and in the operation history information operation group in which the determination is performed, the operation history database stores the similarity of the operator who operated the operation history information.
  • the operator identification code information stored in association with the operation history information selected in the selection step is extracted from the operation history database, and the operator identification code information is presented to the operator who has operated the input device.
  • Presenting step to to The joint development support method according to appendix 5, characterized by comprising:
  • Appendix 7 An input determination step of determining a correction operation or an invalid operation based on the operation history information; A correction step of creating a correction operation history reflecting the correction operation of the operation history information determined in the input determination step or excluding invalid operations;
  • Appendix 8 An input determination step of determining a correction operation or an invalid operation based on the operation history information; A correction step of creating a correction operation history reflecting the correction operation of the operation history information determined in the input determination step or excluding invalid operations, The joint development support method according to appendix 6, wherein the determination step performs similarity determination based on the correction operation history created in the correction step.
  • Computer Information acquisition means for acquiring operation history information of a terminal input device by a plurality of operators, operation history information associating operation times of the input device, and identification code information respectively associated with the plurality of operators ,
  • a distribution unit that divides the operation history information acquired by the information acquisition unit into an operation group that is a set of continuous operations according to a predetermined condition;
  • the operation history information includes at least one of a speed at which the input device is operated, a correction operation indicating an operation for correcting the operation of the operator, and an operation including an invalid operation indicating an operation not accompanied by an input, as an index.
  • Calculating means for calculating the degree of familiarity expressed using the indicator for each operation group divided by the distributing means, Storage means for storing the operation history information and identification code information acquired by the information acquisition means and the familiarity calculated by the calculation means in association with each other in the operation history database;
  • a computer-readable recording medium storing a program that functions as a computer.
  • the present invention can be applied to applications such as software joint development support. Moreover, it is applicable not only to software but also to applications such as discussions and consensus building support via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

共同開発支援システム(100)は、複数の操作者による端末(2)の入力装置の操作履歴と入力装置の操作時間とを関連付けた操作履歴情報(112)と、複数の操作者を識別する識別符号情報(111)を取得する情報取得部(11)と、操作履歴情報(112)を所定の条件にしたがって連続する操作の集合である操作群に分ける分配部(13)と、入力装置が操作された速度、操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、分配部(13)で分けた操作群毎に指標を用いて表す精通度を算出する算出部(14)と、識別符号情報(111)及び操作履歴情報(112)と、精通度とを関連付けて操作履歴データベース(121)へ格納する格納部(12)と、を備える。

Description

共同開発支援システム、共同開発支援方法及び記録媒体
 本発明は共同開発支援システム、共同開発支援方法及び記録媒体に関する。より詳しくは、複数人でソフトウェアを共同開発する共同開発支援システム、共同開発支援方法及び記録媒体に関する。
 ソフトウェア開発においては、コンピュータプログラムを開発するために、開発を行う操作者がプログラミング技術を習得している必要がある。このプログラミング技術は、基本的には学習して習得できるものであるが、技術の精通度、例えばプログラミング言語やライブラリ関数の使用法などに関して差が生じる。複雑な開発や大きな開発では、共同開発や部分開発における場面で、操作者間の技術の精通度の差が生じる。このため、精通度の高い操作者が、精通度の低い操作者を支援することが重要となってくる。
 例えば、特許文献1には、無作為に発生して蓄積される膨大な量の操作履歴の中から、ユーザの意図に基づいて行なわれた一連の操作履歴群を少ない処理量で抽出することのできるドキュメント管理システムが記載されている。そのドキュメント管理システムは、蓄積された操作履歴を、予め定められた時間的な範囲内にあって時系列に並んだユーザ別の小さな履歴列に分割して記録する。
 特許文献2には、ユーザの操作履歴に基づいて、操作傾向を知るための所定の処理を行うことで、操作トラブルを起こしているユーザに対して的確なアドバイスを行うことが可能なデータ処理システムが記載されている。
 特許文献3には、ユーザの操作が監視され、誤操作であることが判定された場合に、適切な操作を推定して、操作を補助する方法を提供する操作補助方法が記載されている。
 特許文献4には、複数の参加者により文書等を共同で編集するシステムにおいて、関係参加者の特定にかかる手間を軽減するシステムを提供することが記載されている。その技術は、ユーザの操作履歴を分析し、所定の条件に基づいて操作履歴格納部に格納された履歴から、関係参加者を特定する。
 特許文献5には、ジョブのタイプに割り当てられる人物の個人パラメータを記憶しておき、ジョブ要求が到着したときに、適切であると確立された人に、処理要求を自動的に送る方法が記載されている。
 特許文献6には、通信ネットワークを介して技術サポートを提供するための方法が記載されており、例えば、製品またはサービスの購入者が、コンピュータプログラムを実行して、特定の製品において知識を有する人への知的ルーティング化支援要求を確立できる製品を提供することができる。
特開2000-172696号公報 特開2003-177847号公報 特開2003-345487号公報 特開2009-080778号公報 特表2005-536795号公報 特表2006-516061号公報
 上述した関連する技術の第1の問題点は、システムを利用するために、プロファイルを事前に作成しなければならないことである。また、操作者の精通度は経験により高くなり、操作者が習う側から教える側として対応できる項目が時間の経過と共に増えていくため、常にプロファイルを更新する必要が生じる。
 第2の問題点は、プログラミングにおける特定の関数などの細かい領域の精通度は、プロファイルに記述できないことである。ここでのプログラミングとは、主にプログラムを書く作業の、コーディング作業を指す。人によりプロファイルに記載すべき項目の判断が異なることや、項目を細分化した場合に記載量が多くなるだけでなく、時間がかかりすぎる等の不具合が生じるからである。項目の細分化とは例えば、大見出し、中見出し、小見出し、と、徐々に詳細な内容に分けていくことをいう。
 本発明は、上述の事情に鑑みてなされたものであり、操作者の精通度の変化に対応できるデータベースを構築する共同開発支援システム、共同開発支援方法および記録媒体を提供することを目的とする。
 本発明の第1の観点にかかる共同開発支援システムは、
 複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
 前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
 前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
を備えることを特徴とする。
 本発明の第2の観点に係る共同開発支援方法は、
 複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
 前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
 前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
 前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
を備えることを特徴とする。
 本発明の第3の観点に係るコンピュータ読み取り可能な記録媒体は、
 コンピュータを、
 複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
 前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
 前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
として機能させるプログラムを記録する。
 本発明によれば、操作者の精通度の変化に対応できるデータベースを構築できる。
本発明の実施形態1に係る共同開発支援システムの構成例を示すブロック図である。 操作履歴情報の例を示す図である。 実施形態1に係る共同開発支援システムの、情報取得動作の一例を示すフローチャートである。 実施形態1に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。 本発明の実施形態2に係る共同開発支援システムの構成例を示すブロック図である。 操作履歴情報の例を示す図である。 文字列長さと対象語の例を示す図である。 実施形態2に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。 実施形態2に係る共同開発支援システムの、情報提示動作の一例を示すフローチャートである。 本発明の実施形態3に係る共同開発支援システムの構成例を示すブロック図である。 操作履歴情報の例を示す図である。 実施形態3に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。 本発明の実施形態4に係る共同開発支援システムの構成例を示すブロック図である。 実施形態4に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。 共同開発支援システムのハードウェア構成の一例を示すブロック図である。
 以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
 本発明で精通度とは、入力装置の操作の仕方などの対象を詳しく知っている度合いをいい、精通度の度合いが高いほど、その対象の分野に詳しいと推定する。例えば、何かの処理を行うソフトウェアを開発する際に、精通度の指標となる操作の速さ、修正操作の数、無効な操作の数などを求めておく。操作が速いほど、修正操作が少ないほど、無効な操作が少ないほど、精通度は高くなり、その対象の処理を行うソフトウェア開発に詳しいと推定する。
 (実施形態1)
 本発明の実施形態1に係る共同開発支援システム100は、図1に示すように、サーバ1と、ネットワークNを介して接続する複数の端末2から構成される。サーバ1は、情報取得部11、格納部(記録部)12、分配部13、算出部14、通信部17および操作履歴データベース121を備え、通信部17はネットワークNと接続する。端末2は、入力装置(本実施形態ではキーボード)を備える情報処理装置である。また、端末2は、図示せぬ通信装置を介してネットワークNと接続する。
 サーバ1の情報取得部11は、ネットワークNと接続した通信部17を介して、端末2のキーボードから操作者によって入力された操作の履歴を含む操作履歴情報112と、その端末2を識別する識別符号情報111とを取得する。情報を取得する方法は、逐次取得する方法と、所定の量の操作履歴が蓄積された時点で、蓄積された分の操作履歴をまとめて取得する方法とがある。例えば、操作履歴の最初の確認をした時から20秒経過毎に、直前の20秒分の操作履歴をまとめて取得する。所定の量は、時間だけでなく、キーボードを打つ数などの操作された数や、履歴情報量で設定することができる。
 格納部12は、情報取得部11で取得した識別符号情報111と操作履歴情報112とを対応させて、操作履歴データとして操作履歴データベース(以下、操作履歴DBと表記する)121に格納(記録)する。また、格納部12は、後述する算出部14で算出する精通度の情報についても、操作履歴データと合わせて操作履歴DB121に格納(記録)する。
 分配部13は、操作履歴を連続する操作の集合である操作群へ分ける。例えば、あるプログラムを作成する際に、“END”の次の行から“END”までを1つの集合としたり、ファイルを開いてから異なるファイルを開くまでを1つの集合としたり、予め分配する量が決められていてもよい。
 算出部14は、端末2のキーボードが操作された速度、操作を修正する動作を表す修正操作、または入力を伴わないポインタ移動などの操作を表す無効な操作を含む指標を用いて表す精通度を算出する。例えば、端末2のキーボードが操作された速度とは、平均タイピング時間などを指す。また、入力を伴わないポインタ移動の操作とは、画面をスクロールする際にカーソルキーを操作した回数、マウス操作でカーソルを移動することなどをいう。精通度の算出方法は、精通度を求める指標などに合わせて所定の方法に設定する。
 ここで、操作履歴情報112の例を図2に示す。図2の操作履歴情報112は、操作者がキーボードで“helloworld”と入力したときの操作履歴情報である。操作者が操作する端末2のキーボードのキー記号とキーが押された時間について、情報を取得した順に降順で記載している。“helloworld”が操作履歴である。表中のキー記号とは、押されたキーボードのキーの記号をいい、時間とは、直前のキーが押された時から次のキーが押されるまでにかかった時間をいう。入力にかかった時間が、5文字目までは全て0.4秒以下であるのに対して、6文字目以降は全て0.8秒以上かかっていることが分かる。
 以下に、具体的にキーボード入力作業でプログラミングを行う場合の例を用いて本実施形態の動作を説明する。
 共同開発支援システム100は、ネットワークNを介して、通信部17より端末2の操作が行われたことを受信し、サーバ1を作動する。サーバ1の情報取得部11は、端末2の操作が行われたことを最初に受信した時間をゼロ時間とし、所定の時間が経過する毎に、通信部17で受信して蓄積しておいた直前の操作履歴情報112をまとめて取得する。また、通信部17は、端末2の操作が行われたことを受信する際に、その端末2の識別符号情報111を合わせて受信しておき、情報取得部11は識別符号情報111の情報を取得する。
 情報取得部11は、取得した識別符号情報111と操作履歴情報112とを格納部12へ送信する。格納部12は、情報取得部11から受信した識別符号情報111と操作履歴情報112とを対応させて操作履歴データとして、操作履歴DB121の操作履歴データの生成、もしくは更新を行う。分配部13は、操作履歴情報112を、連続する操作の集合である操作群へ分ける。算出部14は、操作履歴情報112の操作群毎に、平均タイピング時間や修正操作を行うキーを押した回数などをもとに、所定の方法で精通度を算出する。このとき格納部12は、精通度についても、操作履歴データと関連づけて操作履歴DB121に記憶しておく。
 図3及び図4に示すフローチャートを参照して、本実施形態に係る共同開発支援システムの動作の一例について説明する。
 図3の情報取得動作では、共同開発支援システム100を利用する操作者が、端末2の操作を行う。共同開発支援システム100の通信部17は、ネットワークNを介して、端末2が操作された履歴である操作履歴情報112と、その端末2の識別符号情報111とを受信する(ステップS11)。情報取得部11は、通信部17が受信したこれらの情報を取得する(ステップS12)。格納部12は、情報取得部11が取得した識別符号情報111と操作履歴情報112とを対応させて、操作履歴データとして操作履歴DB121へ格納する(ステップS13)。共同開発支援システム100は、通信部17で次に受信する情報があれば(ステップS14;YES)、ステップS11に戻って、情報の受信を行う。次に受信する情報がなければ(ステップS14;NO)、情報取得動作を終了する。
 図4の共同開発支援動作1では、まず、図3の情報取得動作を行って、識別符号情報111と操作履歴情報112の情報を取得する(ステップS21)。分配部13は、操作履歴情報112を連続する操作の集合である操作群へ分ける(ステップS22)。算出部14は、平均タイピング時間や修正操作を行うキーを押した回数などに基づいて、操作履歴情報112の操作群毎に所定の方法で精通度を算出し記憶する(ステップS23)。そして共同開発支援動作1を終える。
 本実施形態によれば、共同開発支援システム100は、共同開発支援システム100を利用する操作者の操作履歴を記憶してデータの更新を行うので、操作者の精通度の変化に合わせて操作履歴のデータベースを構築することができる。その際に、操作者の精通度を、操作履歴と合わせてデータベースに記憶・保存する。そのため、共同開発支援システム100を用いることにより、操作者と操作履歴情報とその操作に関する精通度の情報とを得ることができる。その情報を参照することで、的確な支援を行い得る人物の選定が容易になる。また、操作者がデータベースの作成をする必要がないので手間がかからないだけでなく、操作履歴に関する情報を網羅しているので記録漏れなどのおそれがない。
 本実施形態では、各端末2を使用する操作者が特定されている場合で、端末2に与えられた識別符号情報111より対応する操作者を抽出可能である。端末2を共通で使用する場合は、操作者が端末2を利用する際に、操作者に個別に与えられたIDなどの識別符号を入力して認識することで操作者の抽出をすることができる。また、本実施形態では、キーボード入力を例に説明しているが、マウスのクリック数やマウス位置と対応するコマンド情報の抽出、タッチペンなどによる入力など任意に設定可能である。
 (実施形態2)
 本発明の実施形態2に係る共同開発支援システムについて、図5を参照して説明する。本実施形態の共同開発支援システム100は、操作者に対して、操作者と類似する操作を行った精通度の高い者を支援者の候補として提示する。また、本実施形態に係る共同開発支援システム100は、実施形態1の構成に加えて、選定部15及び情報提示部16を備える。また、精通度の算出を行う算出部14に速度測定部141及び入力判断部142を備える。基本的な構成は実施形態1と同じである。
 速度測定部141は、分配部13を介して格納部12から操作履歴情報112を受信する。また、速度測定部141は、キーボードのキーが押された時刻の情報から、キーを打つまでにかかる時間やキーを打つ速度を測定する。キーを打つ速度を平均タイピング速度とする。平均タイピング速度は、操作者のものと操作者全員のものがある。平均タイピング速度の比較においては、操作者全員の平均速度と比較したり、操作者の通常の平均速度と今回の操作の平均速度と比較したりと、比較方法は任意に設定できる。
 入力判断部142は、分配部13を介して格納部12から操作履歴情報112を受信する。入力判断部142は、あるキー記号を打った操作が修正操作や無効な操作であるかどうかの判断を操作履歴情報112に基づいて行う。前述したように、修正操作とは操作を修正する動作をいい、無効な操作とは入力を伴わないポインタ移動などをいう。具体的には、キー記号の中の文字列ではない記号の中で一字戻る動作である“BS”や、取消動作である“Esc”の履歴に対してその操作は修正操作であると判断する。また、文字入力を伴わないカーソルを動かすキー操作又はマウス操作や、選択したコマンドを途中でキャンセルした場合など、文字列入力でも修正操作でもない操作を無効な操作であると判断する。このとき、修正操作や無効な操作の判断基準となるキー記号は任意に選択できる。また、キー操作だけでなく、マウスのクリック操作や、印刷や上書き保存などの作業についての操作を無効な操作に含めてもよい。
 算出部14は、速度測定部141で測定したキーを打つ速度や平均タイピング時間、入力判断部142で修正操作や無効な操作と判断された回数などに基づいて、操作者の精通度を算出する。例えば、操作者全員の平均タイピング速度と操作者のタイピング速度を比較した結果と、無効な操作の回数を用いる。その他、同一操作者の以前の履歴にあるタイピング速度と直近のタイピング速度を比較したり、修正操作の割合の変化を求めたりするなど、精通度の算出方法は任意に設定可能である。
 選定部15は、操作履歴DB121から取得した操作履歴情報112と所定の条件に適合する操作履歴データとを選定する。所定の条件は任意に設定できる。選定部15は、例えば、操作履歴DB121にある操作履歴情報112と操作履歴が所定数以上重複しており、類似と判断された操作履歴データであって、かつ、精通度の値が大きい操作履歴データという条件でプログラム設定しておいてもよい。例えば類似の判断に関しては、入力した文字の記録から、重複する割合が所定の値以上で類似と判断するなどの条件を予め設定しておく。
 図6は、操作履歴情報112の例を示す図である。“BS”はカーソルの左側の文字削除を行うバックスペースキーを押したことを表し、“EN”は実行・確定・改行を行うエンターキーを押したことを表す。また、時間とは、実施形態1と同様に、直前のキーが押された時から当キーが押されるまでにかかった時間である。時間は、当キーが押された時刻の情報を取得してもよい。
 図7は、文字列長さと対象語の例を示す図である。“computer”を入力する場合を例に挙げる。タイピング文字とは、キーを入力した順番で表されるキー記号の集合を指す。予測ワードとは、タイピング文字に対して入力が予測される単語を指す。対象語数とは、入力が予測される単語の数を指す。文字列長さである文字の数が増えるにつれて、対象語数は少なくなる。ここでは単語の例を挙げているが、文章などであってもかまわない。
 例えば、操作者が入力しようとしている文字が“computer”の場合に、最初の文字から5文字分の長さが一致するデータを選定するという条件であれば、選定部15は18語の予測ワード(すなわちデータ)を選定する。また、6文字分の長さが一致するデータを選定するという条件であれば、選定部15は1語の予測ワードである“computer”を選定する。さらに、操作履歴データから、そのワードを入力した履歴を有する操作者を識別符号情報に基づいて抽出する。その際に、操作者の精通度と抽出した操作者の精通度との比較を行い、より精通度が高い操作者のみを選定することができる。
 情報提示部16は、選定部15で選定した操作履歴データをもとに、識別符号情報111を含む提示できる形のデータにして、通信部17を介して端末2に送信する。例えば、共同開発支援システム100を利用する操作者に対して、抽出した識別符号情報111の識別符号で表される操作者の名前を画面に提示する。合わせて算出部14で算出した精通度などを表示してもよい。
 以下に、本実施形態の共同開発支援システム100が精通度を算出する動作及び情報を提示する動作について説明する。
 まず、算出部14の速度測定部141が動作する場合について説明する。算出部14は、分配部13より操作群に関する情報を受信し、操作履歴情報112の操作群毎に精通度の算出を行う。速度測定部141は、操作履歴DB121の操作履歴データから操作群に含まれる操作と、その操作が行われた時刻を抽出する。そして、精通度を算出する条件に合わせて、時刻をタイピングにかかった時間などへ必要な形に変換しておく。
 算出部14は、速度測定部141から情報を受け、所定の条件に基づいて精通度を算出する。例えば、図2の“helloworld”と入力したときの場合について説明する。本実施形態では、精通度は、全操作回数に対する、基準時間内にタイピングした回数の割合で求めると設定する。基準となるタイピング時間は0.4秒とする。まず、算出部14は、それぞれの操作に対して、タイピング時間が0.4秒以内であるかを判断し、そして全操作回数、時間内にタイピングした回数を求め割合を算出する。全操作回数は10回であり、時間内にタイピングした回数は4回なので、精通度は40%となる。
 次に、算出部14の入力判断部142が動作する場合について説明する。算出部14は、分配部13より操作群に関する情報を受信し、操作履歴情報112の操作群毎に精通度の算出を行う。入力判断部142は、操作履歴DB121の操作履歴データから、操作群に含まれる操作を抽出する。そして、精通度を算出する条件に合わせて、キーボードが押された履歴にあるキー記号が、修正操作や無効な操作でないかを判断する。算出部14は、入力判断部142の情報をもとに、精通度を算出する。
 図6の例のように、“a”、“b”、“d”、“BS”、“e”、“EN”の順にキーボードのキーが押された操作履歴を受け、予めプログラムされた条件に従い、入力判断部142は、修正操作であるか判断を行う。本実施形態では修正操作の対象条件は、“BS”と“Esc”の操作履歴なので、図6では、“BS”が該当する。入力判断部142は、修正操作有りという情報を算出部14へ送る。
 算出部14は、所定の条件に基づいて、精通度を算出する。例えば、精通度は、全操作回数に対する、修正操作ではない回数の割合で求めると予め設定する。また、無効な操作は操作回数に含まないと設定とする。まず、算出部14は、全操作回数、修正操作回数、無効な操作回数を求め、修正操作ではない回数を算出する。次に全操作回数に対する修正操作ではない回数の割合を算出する。無効な操作回数を全操作回数に含めないので、全回数は全操作回数6回、修正操作ではない回数は5回であるので、精通度は83.3%となる。
 選定部15は、操作履歴情報112に対して、所定の条件と適合する操作履歴データを操作履歴DB121から選定する。そして操作履歴データから、識別符号情報を抽出し、情報提示部16で、操作者へ提示するための提示データの形式に合わせてデータを作成し、通信部17へ提示データを送る。通信部17は、ネットワークNを介して端末2へ情報の提示を行う。このとき提示する情報は、選定部15で選定した操作履歴に対応する識別符号情報111や、そのときの操作履歴情報112、また、その識別符号情報111を有する操作者の名前や精通度などである。
 図8及び図9は、実施形態2に係る共同開発支援システムの動作の一例を示すフローチャートである。図8は共同開発支援動作2を、図9は情報提示動作を示す。情報取得動作は、実施形態1に係る共同開発支援システムの動作と同じである。
 図8の共同開発支援動作2のうち、ステップS21の情報取得は、図3の情報取得動作を指す。共同開発支援システム100は、識別符号情報111と操作履歴情報112の情報を取得すると(ステップS21)、分配部13は、操作履歴情報112を、連続する操作の集合である操作群へ分ける(ステップS22)。
 算出部14は、精通度を算出する条件に、操作者のタイピング速度に関する条件が含まれているか確認する(ステップS31)。タイピング速度に関する条件があれば(ステップS31;YES)、速度測定部141は、タイピング速度の測定を行う(ステップS32)。タイピング速度に関する条件がなければ(ステップS31;NO)、そのままステップS33に進む。算出部14は、精通度を算出する所定の条件に、入力内容の正誤などの、入力判断に関する条件が含まれているか確認する(ステップS33)。入力判断に関する条件があれば(ステップS33;YES)、入力判断部142は、入力内容の判断を行う(ステップS34)。算出部14は、速度測定部141で測定した速度に関するデータや、入力判断部142で判断した入力判断に関するデータをもとにして、操作履歴情報112の操作群毎に所定の方法で精通度を算出し、格納部12へ記憶する(ステップS23)。入力判断に関する条件がなければ(ステップS33;NO)、そのままステップS23へ進む。そしてステップS23の精通度の算出・記憶を終えると、情報の提示を行う(ステップS40)。そして共同開発支援動作2を終える。
 図9の情報提示動作は、図8の共同開発支援動作2のうち、ステップS40の動作を示す。共同開発支援システム100は、識別符号情報111、操作履歴情報112、および精通度の情報を抽出する(ステップS41)。そして、選定部15は、操作履歴DB121の中から、取得した情報に対応する操作群の操作履歴データを選定する(ステップS42)。情報提示部16は、識別符号情報111を含む提示データの作成を行い(ステップS43)、通信部17は、ネットワークNを介して端末2に提示データを送信して提示する(ステップS44)。そして情報提示動作を終える。
 本実施形態によれば、共同開発支援システム100を利用する操作者の操作履歴を記憶し、データの更新を行うので、操作者の精通度の変化に合わせて操作履歴のデータベースを構築することができる。また、その都度、操作に精通する人についての情報を提示でき、操作者は、その作業に精通した操作者を知ることができる。さらに、精通度を算出し比較することで、より、その作業に精通した人を選択することが可能となる。その結果、的確な支援が可能となる人物の選定が可能となり、操作者はより精通度の高い者から支援を得ることができる。
 本実施形態では、選定部15で行う操作履歴の類似性の判断、すなわち、共同開発支援システム100のデータベースに記憶しているデータと操作者の操作履歴の照合は任意に設定可能である。照合に用いる操作履歴のデータ量を、操作履歴の開始から所定の時間、もしくは所定の文字数の条件で設定することで、操作者に適した支援を行うことができる。例えば、所定の文字数を多くすると、照合する操作履歴の数が少なくなり、対応する操作者の数も少なくなるが、より操作履歴が一致した操作者を抽出し選定することができる。また、所定の文字数を少なくすると、照合する操作履歴の数および操作者の数は多くなるが、共同開発支援システム100を利用する操作者に、多くの操作者を提示することができ、操作者が多くの対象の中から好ましいと思われる支援者を選択することができる。支援者となる操作者を提示する時に、操作履歴情報や精通度を併せて開示してもよい。
 (実施形態3)
 本発明の実施形態3に係る共同開発支援システムについて、図10を参照して説明する。本実施形態の共同開発支援システム100は、操作者の操作履歴を分析し、操作ミスなどの可能性を排除した上で操作履歴の類似性の判断を行う。また、本実施形態に係る共同開発支援システム100は、実施形態2の構成に加えて、補正部18を備える。
 補正部18は、入力判断部142で修正操作と判断された操作に対して、その内容を反映させた履歴である補正履歴を作成する。また、無効な操作と判断された操作に対して、その操作を除外した履歴である補正履歴を作成する。また、英語の綴りの間違いや、大文字と小文字の区別など、予測される入力間違いについても反映するように設定してもよい。
 図11に示す操作履歴情報112の例は、操作者が操作する端末2がキーボードの場合の例であり、実施形態1と同様の操作履歴である。図11(a)の入力(A)は、入力された操作履歴のキー記号が文字列のときのみ記録する場合で、そのときの操作履歴を図11(b)で示す。図11(a)の入力(B)は、入力された操作履歴のキー記号の機能キーを反映して記録する場合で、そのときの操作履歴を図11(c)で示す。“BS”はカーソルの左側の文字削除を行うバックスペースキーであるので、文字“d”は間違えて入力していると考えられる。実際に操作した文字列の羅列は図11(b)であるが、入力しようとしていた文字列は図11(c)となる。
 図12に示すフローチャートを参照しながら、本実施形態に係る共同開発支援システムの共同開発支援動作の一例を説明する。情報取得動作については実施形態1で示した図3の情報取得動作と同じであり、情報提示動作については実施形態2で示した図9の情報提示動作と同じである。
 ステップS21の情報取得は、図3の実施形態1で示した情報取得動作を指す。情報取得部11が、識別符号情報111と操作履歴情報112の情報を取得し(ステップS21)、分配部13が、操作履歴情報112を連続する操作の集合である操作群へ分ける(ステップS22)。
 入力判断部142は、入力内容の判断を行う(ステップS51)。ここでの判断は、操作履歴の修正操作や無効な操作の有無を判断する。操作履歴の修正操作や無効な操作があれば、補正の必要有りとして(ステップS52;YES)、そのキー記号の機能に合わせて修正操作を反映させ、もしくは無効な操作を除外して操作履歴の補正を行い(ステップS53)、ステップS23へ進む。ステップS53は、例えば、前述した図11の例では、操作履歴に“BS”があると、“BS”の直前にある操作履歴“d”を消去する。補正の必要がなければ(ステップS52;NO)、そのままステップS23へ進む。
 算出部14は、補正操作履歴情報をもとにして、操作履歴情報112の操作群毎に所定の方法で精通度を算出し、記憶する(ステップS23)。そして情報の提示を行い(ステップS40)、共同開発支援動作3を終える。
 ステップS53で補正し作成した補正操作履歴情報は、操作履歴DB121に記憶してもよい。また、ステップS40の情報の提示の必要がなければ、そのままステップS23で精通度を算出し記憶した後に、共同開発支援動作3を終えてもよい。
 本実施形態によれば、共同開発支援システム100が、入力された操作履歴の、入力ミスなどを判断した上で、類似する操作履歴の検索を行うので、開発支援の際に操作履歴の照合作業や、精通度の高い支援者の絞り込みなどを高い精度で行うことができる。その結果、より操作者に適した支援者を抽出し、開発支援することができる。
 また、本実施形態では記載していないが、修正操作や無効な操作と判断された履歴を考慮し、その履歴を反映や除外した上で操作履歴の類似性を判定するだけでなく、所定のあいまいさを含めて操作履歴の類似性を判定してもよい。あいまいさとは、スペルミスを許容して一致判断することや、大文字と小文字の区別をしないことなどをいう。あいまいさを加味した上で、操作履歴情報と類似した、もしくは一致した操作履歴データベースの操作履歴データを選定することで、より操作者に適した開発支援を行うことができる。
 (実施形態4)
 図13は、本発明の実施形態4に係る共同開発支援システムの構成例を示すブロック図である。本実施形態の共同開発支援システム100は、操作者が行った操作の精通度をもとに、支援者を提示するか否かを判定する。本実施形態に係る共同開発支援システム100は、実施形態2の構成に加えて、判定部19を備える。
 判定部19は、算出部14で算出した精通度が、所定の範囲にあるかを判定し、所定の範囲にあれば、支援が必要であると判定する。精通度が低いと判定された操作者に対して開発支援を行うだけでなく、精通度が高いとされた操作者に対して支援を行ってもよい。精通度が高いとされた場合に支援を行うときは、支援の際に提示する操作者の精通度が、支援される側の操作者の精通度よりも充分に高い場合に限定するなどの設定を行ってもよい。判定部19で判定する際の、支援が必要であるかの基準や、その判定に用いる所定の範囲は、予め統計などにより用意されたデータをもとに共同開発支援システム100へプログラムしておく。
 図14は、本実施形態に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。情報取得動作については実施形態1で示した図3の情報取得動作と、情報提示動作については実施形態2で示した図9の情報提示動作と同じである。
 ステップS21の情報取得は、図3の情報取得動作を指す。情報取得部11が、識別符号情報111と操作履歴情報112の情報を取得すると(ステップS21)、分配部13が、操作履歴情報112を、連続する操作の集合である操作群へ分ける(ステップS22)。算出部14は、操作履歴情報112の操作群毎に、平均タイピング時間や修正操作を行うキーを押した回数などをもとに、所定の方法で精通度を算出し記憶する(ステップS23)。
 そして判定部19で、精通度について、設定された所定の値と、算出した値を比較して判定する(ステップS61)。精通度が所定の範囲にあれば(ステップS62;YES)、判定部19は支援が必要であると判定し、情報提示(ステップS40)へ進む。精通度が所定の範囲になければ(ステップS62;NO)、判定部19は支援が不要であると判定し、そのまま終了する。そして、共同開発支援動作4を終える。
 本実施形態によれば、共同開発支援システム100は、操作者の精通度を算出し、必要に応じて支援をすることができる。また、共同開発支援システム100は、操作者の精通度を考慮し、より適した人を推薦することができる。さらに、開発支援の必要性の有無を判定し、必要な場合にのみ支援者の提示を行うことで、コンピュータなどの資源の無駄使いを極力抑えることができる。
 図15は、図1、5、10または13に示す共同開発支援システムのハードウェア構成の一例を示すブロック図である。共同開発支援システム100は、図15に示すように、制御部31、主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37を備える。主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37はいずれも内部バス30を介して制御部31に接続されている。
 制御部31はCPU(Central Processing Unit)等から構成され、外部記憶部33に記憶されている制御プログラム40に従って、共同開発支援システム100の情報取得部11、格納部12、分配部13、算出部14、選定部15、情報提示部16、通信部17などの各処理を実行する。
 主記憶部32はRAM(Random-Access Memory)等から構成され、外部記憶部33に記憶されている制御プログラム40をロードし、制御部31の作業領域として用いられる。
 外部記憶部33は、フラッシュメモリ、ハードディスク、DVD-RAM(Digital Versatile Disc Random-Access Memory)、DVD-RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、共同開発支援システム100の処理を制御部31に行わせるためのプログラムを予め記憶する。また、制御部31の指示に従って、このプログラムが記憶するデータを制御部31に供給し、制御部31から供給されたデータを記憶する。
 共同開発支援システム100の格納部12や操作履歴DB121は、外部記憶部33に構成される。また、操作履歴DB121が外部記憶部33に構成される場合もある。
 操作部34はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス30に接続するインターフェース装置から構成されている。操作部34を介して、操作者の操作が入力され、制御部31に供給される。
 表示部35は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、操作履歴情報などを表示する。
 入出力部36は、シリアルインタフェースまたはパラレルインタフェースから構成されている。入出力部36は、端末2が附属する装置の場合は、それと接続する。
 送受信部37は、ネットワークNに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはLAN(Local Area Network)インターフェースから構成されている。送受信部37は、ネットワークNを介して、操作履歴などの情報を受信する。端末2が、共同開発支援システム100とは別の端末装置の場合は、例えば、送受信部37を介して、ネットワークNを経由して、端末2に接続する。
 図1、5、10または13に示す共同開発支援システム100の情報取得部11、格納部12、分配部13、算出部14、選定部15、情報提示部16、通信部17などの処理は、制御プログラム40が、制御部31、主記憶部32、外部記憶部33、操作部34、表示部35、入出力部36および送受信部37などを資源として用いて処理することによって実行する。
 その他、前記のハードウェア構成やフローチャートは一例であり、任意に変更および修正が可能である。
 情報取得部11、格納部12、分配部13、算出部14、選定部15、情報提示部16、通信部17などから構成される共同開発支援処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する共同開発支援システムを構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで共同開発支援システムを構成してもよい。
 また、共同開発支援システムを、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合等には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
 また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
 前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
 前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
を備えることを特徴とする共同開発支援システム。
(付記2)
 前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段と、
 前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段と、
 前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段と、
を備えることを特徴とする付記1に記載の共同開発支援システム。
(付記3)
 前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
 前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段と、
を備えることを特徴とする付記1に記載の共同開発支援システム。
(付記4)
 前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
 前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段とを備え、
 前記判定手段は、前記補正手段で作成した補正操作履歴をもとに類似性判定を行うことを特徴とする付記2に記載の共同開発支援システム。
(付記5)
 複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
 前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
 前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
 前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
を備えることを特徴とする共同開発支援方法。
(付記6)
 前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合し類似性判定を行う判定ステップと、
 前記判定ステップで判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記操作履歴情報を操作した操作者の精通度より前記操作履歴データベースに格納された操作履歴情報の精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定ステップと、
 前記操作履歴データベースから、前記選定ステップで選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した前記操作者へ提示する提示ステップと、
を備えることを特徴とする付記5に記載の共同開発支援方法。
(付記7)
 前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
 前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して補正操作履歴を作成する補正ステップと、
を備えることを特徴とする付記5に記載の共同開発支援方法。
(付記8)
 前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
 前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正ステップとを備え、
 前記判定ステップは、前記補正ステップで作成した補正操作履歴をもとに類似性判定を行うことを特徴とする付記6に記載の共同開発支援方法。
(付記9)
 コンピュータを、
 複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
 前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
 前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
 前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
 本発明は2009年11月5日に出願された日本国特許出願2009-253726号に基づく。本明細書中に日本国特許出願2009-253726号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
 本発明によれば、ソフトウェアの共同開発支援といった用途に適用できる。また、ソフトウェアに限定することなくネットワークを介した議論や合意形成支援といった用途にも適用可能である。
   1 サーバ
   2 端末
  11 情報取得部
  12 格納部
  13 分配部
  14 算出部
  15 選定部
  16 情報提示部
  17 通信部
  18 補正部
  19 判定部
 100 共同開発支援システム
 111 識別符号情報
 112 操作履歴情報
 121 操作履歴データベース(操作履歴DB)
 141 速度測定部
 142 入力判断部

Claims (9)

  1.  複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
     前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
     前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
     前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
    を備えることを特徴とする共同開発支援システム。
  2.  前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段と、
     前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段と、
     前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段と、
    を備えることを特徴とする請求項1に記載の共同開発支援システム。
  3.  前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
     前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段と、
    を備えることを特徴とする請求項1に記載の共同開発支援システム。
  4.  前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
     前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段とを備え、
     前記判定手段は、前記補正手段で作成した補正操作履歴をもとに類似性判定を行うことを特徴とする請求項2に記載の共同開発支援システム。
  5.  複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
     前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
     前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
     前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
     前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
    を備えることを特徴とする共同開発支援方法。
  6.  前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合し類似性判定を行う判定ステップと、
     前記判定ステップで判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記操作履歴情報を操作した操作者の精通度より前記操作履歴データベースに格納された操作履歴情報の精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定ステップと、
     前記操作履歴データベースから、前記選定ステップで選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した前記操作者へ提示する提示ステップと、
    を備えることを特徴とする請求項5に記載の共同開発支援方法。
  7.  前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
     前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して補正操作履歴を作成する補正ステップと、
    を備えることを特徴とする請求項5に記載の共同開発支援方法。
  8.  前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
     前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正ステップとを備え、
     前記判定ステップは、前記補正ステップで作成した補正操作履歴をもとに類似性判定を行うことを特徴とする請求項6に記載の共同開発支援方法。
  9.  コンピュータを、
     複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
     前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
     前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも1つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
     前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
    として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2010/069751 2009-11-05 2010-11-05 共同開発支援システム、共同開発支援方法及び記録媒体 WO2011055801A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011539407A JP5637143B2 (ja) 2009-11-05 2010-11-05 共同開発支援システム、共同開発支援方法及びプログラム
US13/508,069 US20120266128A1 (en) 2009-11-05 2010-11-05 Collaborative development support system, collaborative development support method and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-253726 2009-11-05
JP2009253726 2009-11-05

Publications (1)

Publication Number Publication Date
WO2011055801A1 true WO2011055801A1 (ja) 2011-05-12

Family

ID=43970037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/069751 WO2011055801A1 (ja) 2009-11-05 2010-11-05 共同開発支援システム、共同開発支援方法及び記録媒体

Country Status (3)

Country Link
US (1) US20120266128A1 (ja)
JP (1) JP5637143B2 (ja)
WO (1) WO2011055801A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013088708A1 (ja) * 2011-12-15 2015-04-27 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、および、コンピュータ・プログラム
JP2020071673A (ja) * 2018-10-31 2020-05-07 株式会社Jvcケンウッド 情報処理装置、情報処理方法及びプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5667024B2 (ja) * 2011-09-28 2015-02-12 株式会社東芝 プログラム生成装置、プログラム生成方法及びプログラム
US10289741B2 (en) * 2016-03-30 2019-05-14 Microsoft Technology Licensing, Llc Using relevant objects to add content to a collaborative repository
WO2018030557A1 (ko) * 2016-08-10 2018-02-15 라인 가부시키가이샤 출력 효과를 제공하는 메신저 서비스 방법, 시스템 및 기록 매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086322A (ja) * 2002-08-23 2004-03-18 Sharp Corp 作業習熟度判定システム及び作業習熟度判定方法
JP2006516061A (ja) * 2002-12-21 2006-06-15 エスオーエス パーソナル ラーニング ソリューションズ, インク. ネットワークを介して技術サポートを提供するための方法
JP2008305339A (ja) * 2007-06-11 2008-12-18 Nec Corp 操作時間測定装置及び方法、習熟度判定装置及び方法、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093235B2 (en) * 2002-12-13 2006-08-15 Microsoft Corporation Process for measuring coding productivity
US20070250816A1 (en) * 2006-04-19 2007-10-25 International Business Machines Corporation Process and method for using real-work statistics for automatically selecting appropriate developer to fix a problem
US7962890B2 (en) * 2006-08-16 2011-06-14 International Business Machines Corporation Method to assess the skill level of software development
US8589878B2 (en) * 2007-10-22 2013-11-19 Microsoft Corporation Heuristics for determining source code ownership
JP2009223833A (ja) * 2008-03-18 2009-10-01 Ricoh Co Ltd ワークフロー管理システム
US7562344B1 (en) * 2008-04-29 2009-07-14 International Business Machines Corporation Method, system, and computer program product for providing real-time developer feedback in an integrated development environment
US8595685B2 (en) * 2010-04-07 2013-11-26 Accenture Global Services Limited Method and system for software developer guidance based on analyzing project events
US9311056B2 (en) * 2010-08-06 2016-04-12 International Business Machines Corporation Automated analysis of code developer's profile

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086322A (ja) * 2002-08-23 2004-03-18 Sharp Corp 作業習熟度判定システム及び作業習熟度判定方法
JP2006516061A (ja) * 2002-12-21 2006-06-15 エスオーエス パーソナル ラーニング ソリューションズ, インク. ネットワークを介して技術サポートを提供するための方法
JP2008305339A (ja) * 2007-06-11 2008-12-18 Nec Corp 操作時間測定装置及び方法、習熟度判定装置及び方法、プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013088708A1 (ja) * 2011-12-15 2015-04-27 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法、および、コンピュータ・プログラム
EP2793144A4 (en) * 2011-12-15 2016-12-21 Nec Corp INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND COMPUTER PROGRAM
US9886666B2 (en) 2011-12-15 2018-02-06 Nec Corporation Information processing device, information processing system, information processing method and computer-readable medium
JP2020071673A (ja) * 2018-10-31 2020-05-07 株式会社Jvcケンウッド 情報処理装置、情報処理方法及びプログラム
JP7110915B2 (ja) 2018-10-31 2022-08-02 株式会社Jvcケンウッド 情報処理装置、情報処理方法及びプログラム
US11580004B2 (en) 2018-10-31 2023-02-14 Jvckenwood Corporation Information processor, information processing method, and non-transitory storage medium

Also Published As

Publication number Publication date
JPWO2011055801A1 (ja) 2013-03-28
US20120266128A1 (en) 2012-10-18
JP5637143B2 (ja) 2014-12-10

Similar Documents

Publication Publication Date Title
US9058105B2 (en) Automated adjustment of input configuration
RU2602786C2 (ru) Форматирование данных по образцу
US10642933B2 (en) Method and apparatus for word prediction selection
KR100823083B1 (ko) 터치스크린을 구비한 문서 표시장치의 문서 교정 방법 및그 장치
US11113464B2 (en) Synchronizing data-entry fields with corresponding image regions
US8976118B2 (en) Method for character correction
JP5637143B2 (ja) 共同開発支援システム、共同開発支援方法及びプログラム
US9547639B2 (en) Typing error correction method and device implementing the same method
WO2006075667A1 (ja) 情報処理装置ならびにファイルデータマージ方法およびファイル名称付与方法およびファイルデータ出力方法
US9886498B2 (en) Title standardization
CN111459460B (zh) 一种业务数据处理方法及***
US20160241671A1 (en) Profile update evaluator
EP4250256A1 (en) Information processing apparatus, program, and method for processing information
JP2017117014A (ja) 入力プログラム、入力装置、および入力方法
JP7452553B2 (ja) 入力表示システム、補助情報表示方法、及びプログラム
JP2018060477A (ja) 見積装置、プログラム
JP4907089B2 (ja) 複数シンクライアントの処理実行システム
JP2022169992A (ja) 情報処理装置、情報処理方法、端末プログラム、サーバプログラム及び契約書修正支援システム
JP2022096311A (ja) 情報処理装置、情報処理方法およびプログラム
CN113791694A (zh) 数据输入方法、装置、设备及计算机可读存储介质
JP2016194822A (ja) サーバシステム及びそのプログラム、並びにエラーチェック方法
JP2018180977A (ja) 情報処理装置、情報処理方法及びプログラム
JP2023106195A (ja) 情報処理装置、及び情報処理プログラム
JP2019095848A (ja) 文書処理装置およびプログラム
JP2006172379A (ja) 文字認識処理装置および文字認識処理方法およびプログラムおよび記録媒体

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: 10828360

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011539407

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13508069

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10828360

Country of ref document: EP

Kind code of ref document: A1