WO2021095136A1 - Software development support device, software development support method, and program - Google Patents

Software development support device, software development support method, and program Download PDF

Info

Publication number
WO2021095136A1
WO2021095136A1 PCT/JP2019/044406 JP2019044406W WO2021095136A1 WO 2021095136 A1 WO2021095136 A1 WO 2021095136A1 JP 2019044406 W JP2019044406 W JP 2019044406W WO 2021095136 A1 WO2021095136 A1 WO 2021095136A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
development support
software
review
software development
Prior art date
Application number
PCT/JP2019/044406
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2019/044406 priority Critical patent/WO2021095136A1/en
Publication of WO2021095136A1 publication Critical patent/WO2021095136A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Definitions

  • the present invention relates to a software development support device, a software development support method, and a program.
  • the consignor divides the software development work into multiple parts so that the development work can be carried out by multiple people. For example, division by data definition and division by method definition are performed (Non-Patent Document 1).
  • the trustee confirms the functional specifications of each divided part, selects which part is in charge, and implements the part.
  • the consignor collects the parts implemented by the consignor and conducts integration testing to ensure that the software works correctly.
  • the present invention has been made in view of the above points, and an object of the present invention is to enable the use of crowdsourcing even for software including highly confidential functions.
  • the software development support device includes an analysis unit that analyzes the composition of the character string in the information related to the specifications of each of a plurality of parts constituting the software to be developed, and an analysis by the analysis unit. Based on the result, it has a contractor classification unit that classifies the contractors for the development of each part into the organization of the software developer or outside the organization.
  • FIG. 1 is a diagram showing an example of a system configuration according to the first embodiment.
  • the development support server 10 is connected to a plurality of work terminals 20 belonging to the inner environment via a network N1 such as an intranet within an organization such as a company that develops a certain software.
  • the inner environment refers to the network environment inside the organization.
  • the development support server 10 is also connected to a plurality of work terminals 20 belonging to the cloud environment, which is a network environment outside the organization, via a network N2 such as the Internet.
  • the above-mentioned organization is hereinafter referred to as "organization X".
  • the development support server 10 is one or more computers that manage software development work and the like.
  • the development support server 10 crowdsources the software development work developed by the organization X to the workers existing in the cloud environment. However, the development support server 10 allocates the work to the workers in the inner environment for the highly confidential part of the development work or the software to be developed. That is, in the present embodiment, not only crowdsourcing is performed for software development, but also outsourcing to an inner worker (hereinafter referred to as "inner sourcing”) is performed. By doing so, the risk of leakage of confidential information can be reduced.
  • the work terminal 20 in the inner environment is a terminal such as a PC used by a worker belonging to the organization X (hereinafter referred to as "inner worker") for software development work.
  • the work terminal 20 in the cloud environment is a terminal such as a PC (Personal Computer) used by workers outside the organization X to which the organization X does not belong (hereinafter referred to as "cloud worker") for software development work.
  • PC Personal Computer
  • FIG. 2 is a diagram showing a hardware configuration example of the development support server 10 according to the first embodiment.
  • the development support server 10 of FIG. 2 has a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like, which are connected to each other by a bus B, respectively.
  • the program that realizes the processing on the development support server 10 is provided by a recording medium 101 such as a CD-ROM.
  • a recording medium 101 such as a CD-ROM.
  • the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100.
  • the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network.
  • the auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 103 reads and stores the program from the auxiliary storage device 102 when the program is instructed to start.
  • the CPU 104 executes the function related to the development support server 10 according to the program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • FIG. 3 is a diagram showing a functional configuration example of the development support server 10 in the first embodiment.
  • the development support server 10 has an analysis unit 11, a contractor classification unit 12, and a development management unit 13. Each of these parts is realized by a process of causing the CPU 104 to execute one or more programs installed on the development support server 10.
  • the development support server 10 also uses the task information storage unit 121, the keyword storage unit 122, and the classification result storage unit 123.
  • Each of these storage units can be realized by using, for example, an auxiliary storage device 102, a storage device that can be connected to the development support server 10 via a network, or the like.
  • the analysis unit 11 divides the specifications (functional specifications) of the plurality of functions of the software created in the design work related to the software to be developed so that the development work related to the specifications can be shared by a plurality of workers. For each unit (hereinafter referred to as "task"), the composition of the character string in the information related to the specifications of the relevant part is analyzed. In the present embodiment, the co-occurrence status of a preset character string group (keyword group stored in the keyword storage unit 122) is analyzed as the configuration.
  • the specification may be divided by using, for example, the technique described in Non-Patent Document 1.
  • the outsourcer classification unit 12 classifies the outsourcer of the development work of each task into an inner worker (inner environment) or a cloud worker (cloud environment) based on the analysis result by the analysis unit 11.
  • the development management unit 13 performs the same processing as that performed in publicly known crowdsourcing for each task, such as distribution to workers and management of progress status (status).
  • the task information storage unit 121 stores the classification results of the software to be developed into tasks of each specification.
  • FIG. 4 is a diagram showing a configuration example of the task information storage unit 121.
  • the task information storage unit 121 stores "specification number”, "specification name”, and information on one or more tasks belonging to the specification (hereinafter, referred to as "task information") for each specification.
  • Information to be included hereinafter referred to as "specification information" is stored.
  • the task information includes a "task number”, a "task name”, a "description”, and the like.
  • the "specification name” is a name given to each specification (that is, each function).
  • the "task number” is a task identification number within one specification to which the task belongs. In the present embodiment, the execution order of the processing of the part (a part of the function) corresponding to each task in the specification is used as the task number.
  • the "task name” is a name given to the task.
  • the “description” is a description (character string) relating to the function or the functional specification of the part corresponding to the task.
  • the keyword storage unit 122 stores a keyword sentence (character string group) for evaluating the high degree of confidentiality of each task definition information stored in the task information storage unit 121.
  • FIG. 5 is a diagram showing a configuration example of the keyword storage unit 122.
  • one or more named entity is associated with each appearing word and stored (that is, a keyword group consisting of a set of the appearing word and one or more named entity). The set of is remembered).
  • the appearing word is a keyword that is a condition that the confidentiality of each task definition information is relatively high, and is a character string that is first searched for in the evaluation of confidentiality. In other words, the confidentiality of the task definition information that does not include the occurrence word is evaluated to be relatively low.
  • Named entity recognition is a keyword that relatively raises the evaluation of the confidentiality of the task definition information when it co-occurs with the appearing word in the task definition information.
  • FIG. 6 is a flowchart for explaining an example of the processing procedure executed by the development support server 10 in the first embodiment.
  • the analysis unit 11 executes the loop processing L1 for each occurrence word stored in the keyword storage unit 122 (FIG. 5).
  • the appearance word that is the processing target in the loop processing L1 is referred to as a “target appearance word”.
  • the loop process L1 includes a loop process L2 in which steps S101 to S107 are executed for each specification in which the specification information is stored in the task information storage unit 121 (FIG. 4).
  • the specifications to be processed in the loop processing L2 are referred to as "target specifications”.
  • step S101 the analysis unit 11 determines whether or not the "specification name" of the target specification includes the target appearance word.
  • the analysis unit 11 describes the "specification name", the "task name” and the “description” of the task for each of the tasks belonging to the target specification.
  • the number of occurrences (that is, the number of co-occurrence) of each named entity (hereinafter, referred to as "object named entity") corresponding to the target named word in the combined (combined) character string group is counted (S102).
  • step S102 the number of co-occurrence of each of "vehicle type", “age”, “grade” and “contract years” in the "specification name", "task name” and “description” of the target specification is It is counted for 5 tasks belonging to the target specification.
  • FIG. 7 is a diagram showing an example of the count result of the number of co-occurrence of the named entity.
  • FIG. 7 shows the count result of the number of co-occurrence of the occurrence word “insurance fee” and each named entity corresponding to the appearance word for the specification in which the “specification number” is “01”. Since FIG. 7 is the execution result of step S102, the total of the number of appearances in the “specification name”, the number of appearances in the “task name”, and the number of appearances in the “description” is shown for each named entity. There is.
  • the analysis unit 11 executes the loop process L3 including steps S103 to S105 for each task belonging to the target specification.
  • the task to be processed in the loop processing L3 is referred to as a “target task”.
  • step S103 the analysis unit 11 determines whether or not the target occurrence word is included in the "task name” or “description” of the target task (both or either of them) (S103).
  • the analysis unit 11 uses the "specification name” of the target specification, the "task name” of the target task, and the target task.
  • the number of appearances (that is, the number of co-occurrences) of each object-specific expression in the character string group including the "description” is counted (S104).
  • the analysis unit 11 has 0 co-occurrence of each named entity for the target task. (S105).
  • the analysis unit 11 calculates the coverage rate and co-occurrence frequency for each task belonging to the target specification based on the count result of the number of co-occurrence of each named entity. S107).
  • the coverage rate and the frequency of appearance are calculated based on the following formulas.
  • Coverage rate (number of named entity with co-occurrence of 1 or more ⁇ total number of named entity) ⁇ 100 (%) ⁇ ⁇ ⁇ (1)
  • Occurrence frequency ⁇ Co-occurrence number of each object named entity ...
  • the coverage rate may be calculated as a weighted average using weights for each named entity. By doing so, it is possible to consider the difference in the degree of confidentiality (importance to confidentiality) for each named entity.
  • the consignee classification unit 12 classifies the consignees of each task belonging to each specification (S108). Specifically, the outsourcer classification unit 12 determines the outsourcer of each task of each specification by comparing the coverage rate calculated for each occurrence word with a preset threshold value for each task of each specification. judge. That is, the outsourcer classification unit 12 classifies the outsourcer of the task whose coverage rate is equal to or higher than the threshold value for any one or more of the appearing words into the inner worker (inner environment), and the coverage rate is less than the threshold value for all the appearing words.
  • a task is outsourced to a cloud worker (cloud environment). The coverage rate is used because it is considered that confidential information is more likely to be leaked when the appearing words co-occur with more named entities.
  • FIG. 9 is a diagram showing an example of the classification result of the contractor of each task.
  • FIG. 9 shows the classification result of the contractor of each task when the analysis result such as the coverage rate of each named entity is as shown in FIG. 8 when the appearing word is only “insurance fee”.
  • the threshold value for the coverage rate is set to 50%.
  • the outsourcer of task 3 is classified as an inner worker, and the outsourcer of tasks other than task 3 is classified as a cloud worker.
  • “insurance fee”, “vehicle type”, “age”, “grade” and “contract years” co-occur, and task 3 is outsourced to a cloud worker.
  • the contractor may be classified as an inner worker for tasks other than task 3.
  • the contractor classification unit 12 stores the classification result as shown in FIG. 9 in the classification result storage unit 123.
  • the classification result by the contractor classification unit 12 is input to the development management unit 13.
  • the development management unit 13 publishes a task list screen (Web page) including a list of tasks for which the contractor is classified as an inner worker, and in the cloud environment, the contractor is classified as a cloud worker.
  • a task list screen Web page
  • the disclosure of the task list screen means that the task list screen can be accessed via the network.
  • the tasks that the cloud worker can take charge of are limited to the tasks for which the contractor is classified as a cloud worker.
  • Each worker in the cloud environment and the inner environment accepts (takes over) the task that he / she wants to be in charge of development from the list of tasks displayed on the task list screen displayed on each work terminal 20. .. That is, the subcontractor classification unit 12 does not identify the worker for each task.
  • the recruitment of trustees by the development management department 13 may be carried out in the same manner as known crowdsourcing and the like. Exclusive control for avoiding duplicate development by a plurality of workers may also be performed using a known technique.
  • the contractors of each task are classified according to the high degree of confidentiality of each task. Specifically, highly confidential task consignees (which may leak confidential information) are classified as inner workers, and non-confidential task consignees are classified as cloud workers. As a result, it is possible to use crowdsourcing even for software that includes highly confidential functions.
  • the second embodiment will be described which is different from the first embodiment.
  • the points not particularly mentioned in the second embodiment may be the same as those in the first embodiment.
  • the work process (work phase) of each task is classified into a mounting process (mounting work) and a review process (review work) in chronological order.
  • the mounting process is a work process in which functions related to tasks are implemented (programming, etc.).
  • the review process is a work process in which the deliverables (program source code, etc.) in the mounting process are reviewed.
  • the worker (implementer) in charge of the mounting process and the worker (reviewer) in charge of the review process are different for the same task.
  • the reviewer should be a worker who has abundant skills and experience in software development.
  • the development management unit 13 manages the progress (start and end, etc.) of each task for each work process, and the task (work terminal 20 of the worker entrusted with the task) for which the implementation process has been completed. For tasks that have been notified that the mounting process has been completed), we will recruit workers for the review process again. For example, the status may be displayed for each task on the work list screen. The status includes “not implemented”, “implementing”, “implementing completed”, “reviewing", “reviewing completed”, and the like. "Unimplemented” means that the task has not been entrusted. “Implementing” means that the task has been entrusted by one of the workers and is being implemented.
  • Examplementation completed means that the task implementation process has been completed and reviewers are being recruited. “Under review” means that the reviewer has taken over the task and is reviewing the deliverables of the mounting process. “Review completed” means a state in which the review process is completed, that is, a state in which the deliverable in the mounting process is completed and all the work processes related to the task are completed.
  • the outsourcer of the implementation process is classified as a cloud worker in the first embodiment, the outsourcer of the task review process is automatically limited to the cloud worker (that is, the recruitment of the implementation process). If only the status is simply updated on the task list screen at the time), there is a possibility that the review process will be carried out by a worker who does not have the appropriate skills or experience as a reviewer. As a result, there is a risk of deterioration in the quality of the task and, by extension, the software containing the task.
  • FIG. 10 is a diagram showing a functional configuration example of the development support server 10 in the second embodiment.
  • the same parts as those in FIG. 3 are designated by the same reference numerals, and the description thereof will be omitted.
  • the development support server 10 further has a review destination classification unit 14.
  • the review destination classification unit 14 is realized by a process of causing the CPU 104 to execute one or more programs installed on the development support server 10.
  • the development support server 10 further uses the implementation record storage unit 124 and the review destination restriction storage unit 125.
  • Each of these storage units can be realized by using, for example, an auxiliary storage device 102, a storage device that can be connected to the development support server 10 via a network, or the like.
  • FIG. 11 is a flowchart for explaining an example of the processing procedure executed by the development support server 10 in the second embodiment.
  • the review destination classification unit 14 detects that the implementation of any task whose status is "implementing” (hereinafter referred to as "target task") has been completed (Yes in S201), the review destination classification unit 14 implements the target task. Determines whether or not the contractor is a cloud worker (S202).
  • the work terminal 20 of the contractor of the implementation process transmits a completion notification including the deliverable of the implementation process of the task to the development management unit 13 of the development support server 10. ..
  • the completion notification further includes a specification number and a task number of the task.
  • the development management unit 13 updates the status of the task to "implementation completed” and transfers the completion notification to the review destination classification unit 14.
  • the identification information of the worker corresponding to the work terminal 20 of the transmission source of the completion notification hereinafter referred to as "worker ID"
  • the preclassification unit 14 is notified.
  • the review destination classification unit 14 can detect the completion of the implementation of the target task based on the completion notification, and can determine whether or not the contractor of the target task is a cloud worker.
  • the review destination classification unit 14 does not execute after step S203. In this case, the contractor of the review process of the target task remains the inner worker.
  • the review destination classification unit 14 determines the reliability of the worker who has been entrusted with the target task (hereinafter referred to as “target worker”).
  • the rank is acquired from the mounting record storage unit 124 (S203).
  • FIG. 12 is a diagram showing a configuration example of the mounting record storage unit 124. As shown in FIG. 12, the mounting record storage unit 124 stores a worker ID, mounting record information, reliability rank, and the like for each cloud worker.
  • the mounting record information is information showing the past record of the mounting process, and includes items such as the number of implementations, the number of reviews passed, and the review passing rate.
  • the number of implementations is the number of tasks for which the worker (cloud worker) related to the worker ID has performed the implementation process.
  • the number of reviews passed is the number of tasks that have passed the review process among the tasks related to the number of implementations. Passing through the review process means that it is confirmed in the review process that there is no problem with the deliverables (source code, etc.) of the mounting process, and the task status becomes "review completed".
  • a task in which a problem is found in the deliverable in the review process may be returned to the mounting process.
  • the remand destination is the worker who performed the implementation process of the task.
  • the worker corrects the deliverable in order to solve the problem pointed out, and ends the development process of the task again.
  • the implementation of the development process when it is returned is not counted in the number of mountings.
  • the worker can give up solving the problem pointed out and return the status of the task to "not implemented". In this case, for the worker, 1 is added to the number of implementations, but 1 is not added to the number of passing reviews.
  • the review pass rate is the ratio of the number of reviews passed to the number of implementations. That is, the review passing rate is the probability that the review will pass.
  • the reliability rank is a classification of the reliability of the worker regarding the mounting process.
  • the reliability rank is divided into three stages of A, B, and C.
  • A is a category that satisfies the condition that the number of implementations is 30 or more and the review passing rate is 80% or more.
  • B is a category that satisfies the condition that the number of implementations is 15 or more and the review passing rate is 50% or more.
  • the implementation record information and reliability rank of a certain worker are, for example, when the status of the task for which the worker was in charge of the mounting process returns to "not implemented” or "review completed”.
  • the development management unit 13 updates it.
  • the status of a certain task returns to "not implemented”
  • the development management unit 13 adds 1 to the number of implementations of the worker in the implementation process of the task and updates the review passing rate.
  • the development management unit 13 also determines the reliability rank of the worker, and updates the reliability rank as necessary. on the other hand.
  • the status of a task is updated to "review completed”
  • the development management unit 13 adds 1 to each of the number of implementations and the number of reviews passed by the worker in the implementation process of the task, and updates the review pass rate. To do.
  • the development management unit 13 also determines the reliability rank of the worker, and updates the reliability rank as necessary.
  • the review destination classification unit 14 classifies the contractors of the review process of the target task based on the reliability rank (hereinafter, referred to as “target reliability rank”) acquired in step S203 (S204). Such classification is performed with reference to the review destination restricted storage unit 125.
  • FIG. 13 is a diagram showing a configuration example of the review destination restriction storage unit 125.
  • the review destination restriction storage unit 125 stores the restriction of the review destination in association with the reliability rank.
  • the restriction of the review destination means the restriction regarding the contractor of the review process.
  • the review destination classification unit 14 determines the contractor of the review process of the target task as a cloud worker. That is, following the development process, the review process is also outsourced to the cloud worker.
  • the target reliability rank is B
  • the review destination classification unit 14 classifies the contractor of the review process of the target task into a cloud worker having a reliability rank of B or higher.
  • the target reliability is C
  • the review destination classification unit 14 classifies the contractor of the review process of the target task as an inner worker.
  • the classification result by the review destination classification unit 14 is notified to the development management department 13.
  • the development management unit 13 changes the disclosure destination of the target task based on the classification result.
  • Step S203 and subsequent steps may be executed. This is because even an inner worker may have workers with little skill or experience.
  • the criteria for classifying the reliability rank for the inner worker and the content of the restriction corresponding to the reliability rank in the review destination restriction storage unit 125 may be different from those for the cloud worker.
  • the tasks assigned to the crowdsourcing side can be dynamically distributed to inner sourcing or a reliable cloud worker. As a result, the risk of quality deterioration of software development using crowdsourcing can be suppressed.
  • the second embodiment can be applied even when the task consignees are classified by a method different from that of the first embodiment. For example, when the contractor of the development process of each task is manually classified as an inner worker or a cloud worker, the second embodiment may be applied.
  • the development support server 10 is an example of a software development support device.
  • Development support server 11 Analysis unit 12 Outsourced classification unit 13 Development management department 14 Review destination classification unit 20 Work terminal 100 Drive device 101 Recording medium 102 Auxiliary storage device 103 Memory device 104 CPU 105 Interface device 121 Task information storage unit 122 Keyword storage unit 123 Classification result storage unit 124 Implementation record storage unit 125 Review destination restriction storage unit B bus

Abstract

A software development support device that comprises: an analysis unit that, for each of a plurality of portions of a software to be developed, analyzes the composition of a character string in information about the specifications of the relevant portion; and a commissionee classification unit that, on the basis of analysis results from the analysis unit, classifies the commissionee for the development of each portion as either inside or outside an organization that is developing the software. The software development support device thereby makes it possible to use crowdsourcing, even for software that includes highly confidential functions.

Description

ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラムSoftware development support device, software development support method and program
 本発明は、ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラムに関する。 The present invention relates to a software development support device, a software development support method, and a program.
 従来、クラウドソーシングによるソフトウェア開発が行われている。クラウドソーシングでは、ソフトウェア開発の委託者がインターネットを介して受託者を募集すると、受託を希望する者がソフトウェアの開発を受託し開発作業を行う。 Conventionally, software development by crowdsourcing has been carried out. In crowdsourcing, when a software development consignor recruits a consignee via the Internet, the person who wishes to consign the software development is entrusted with the development work.
 具体的には、委託者は、複数人によって開発作業が遂行可能なように、ソフトウェアの開発作業を複数の部分に分割する。例えば、データ定義による分割やメソッド定義による分割が行われる(非特許文献1)。受託者は分割された各部分の機能仕様等を確認して、どの部分を担当するのかを選択し、当該部分についての実装等を行う。委託者は受託者により実装された部分を収集し、ソフトウェアが正確に動作するかを確認するために結合テストを行う。 Specifically, the consignor divides the software development work into multiple parts so that the development work can be carried out by multiple people. For example, division by data definition and division by method definition are performed (Non-Patent Document 1). The trustee confirms the functional specifications of each divided part, selects which part is in charge, and implements the part. The consignor collects the parts implemented by the consignor and conducts integration testing to ensure that the software works correctly.
 しかしながら、クラウドソーシングによるソフトウェア開発では、開発対象のソフトウェアに関する情報が委託者の外部に公開されてしまうため、機密性が高い機能を含むソフトウェアについてはクラウドソーシングの利用が困難である。 However, in software development by crowdsourcing, it is difficult to use crowdsourcing for software that includes highly confidential functions because information about the software to be developed is disclosed to the outside of the consignor.
 本発明は、上記の点に鑑みてなされたものであって、機密性の高い機能を含むソフトウェアであってもクラウドソーシングの利用を可能とすることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to enable the use of crowdsourcing even for software including highly confidential functions.
 そこで上記課題を解決するため、ソフトウェア開発支援装置は、開発対象のソフトウェアを構成する複数の部分ごとに、当該部分の仕様に関する情報における文字列の構成を解析する解析部と、前記解析部による解析結果に基づいて、各部分の開発の委託先を前記ソフトウェアの開発元の組織内又は前記組織外に分類する委託先分類部と、を有する。 Therefore, in order to solve the above problems, the software development support device includes an analysis unit that analyzes the composition of the character string in the information related to the specifications of each of a plurality of parts constituting the software to be developed, and an analysis by the analysis unit. Based on the result, it has a contractor classification unit that classifies the contractors for the development of each part into the organization of the software developer or outside the organization.
 機密性の高い機能を含むソフトウェアであってもクラウドソーシングの利用を可能とすることができる。 It is possible to use crowdsourcing even with software that includes highly confidential functions.
第1の実施の形態におけるシステム構成例を示す図である。It is a figure which shows the system configuration example in 1st Embodiment. 第1の実施の形態における開発支援サーバ10のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the development support server 10 in 1st Embodiment. 第1の実施の形態における開発支援サーバ10の機能構成例を示す図である。It is a figure which shows the functional structure example of the development support server 10 in 1st Embodiment. タスク情報記憶部121の構成例を示す図である。It is a figure which shows the configuration example of the task information storage unit 121. キーワード記憶部122の構成例を示す図である。It is a figure which shows the structural example of the keyword storage part 122. 第1の実施の形態において開発支援サーバ10が実行する処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the processing procedure executed by development support server 10 in 1st Embodiment. 固有表現の共起数のカウント結果の一例を示す図である。It is a figure which shows an example of the count result of the co-occurrence number of a named entity. タスクごとの網羅率及び共起頻度の解析結果の一例を示す図である。It is a figure which shows an example of the analysis result of the coverage rate and co-occurrence frequency for each task. 各タスクの委託先の分類結果の一例を示す図である。It is a figure which shows an example of the classification result of the consignee of each task. 第2の実施の形態における開発支援サーバ10の機能構成例を示す図である。It is a figure which shows the functional structure example of the development support server 10 in the 2nd Embodiment. 第2の実施の形態において開発支援サーバ10が実行する処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the processing procedure executed by development support server 10 in 2nd Embodiment. 実装実績記憶部124の構成例を示す図である。It is a figure which shows the configuration example of the mounting record storage unit 124. レビュー先制限記憶部125の構成例を示す図である。It is a figure which shows the structural example of the review destination limited storage part 125.
 以下、図面に基づいて本発明の実施の形態を説明する。図1は、第1の実施の形態におけるシステム構成例を示す図である。図1において、開発支援サーバ10は、或るソフトウェアの開発元の企業等の組織内におけるイントラネット等のネットワークN1を介してインナー環境に属する複数の作業端末20と接続される。インナー環境とは、当該組織の内部のネットワーク環境をいう。開発支援サーバ10は、また、インターネット等のネットワークN2を介して上記の組織外のネットワーク環境であるクラウド環境に属する複数の作業端末20と接続される。なお、上記の組織を以下「組織X」という。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing an example of a system configuration according to the first embodiment. In FIG. 1, the development support server 10 is connected to a plurality of work terminals 20 belonging to the inner environment via a network N1 such as an intranet within an organization such as a company that develops a certain software. The inner environment refers to the network environment inside the organization. The development support server 10 is also connected to a plurality of work terminals 20 belonging to the cloud environment, which is a network environment outside the organization, via a network N2 such as the Internet. The above-mentioned organization is hereinafter referred to as "organization X".
 開発支援サーバ10は、ソフトウェアの開発作業の管理等を行う1以上のコンピュータである。開発支援サーバ10は、組織Xが開発元であるソフトウェアの開発作業を、クラウド環境に存在する作業者に対してクラウドソーシングする。但し、開発支援サーバ10は、当該開発作業又は開発対象のソフトウェアにおいて機密性の高い部分については、インナー環境の作業者に対して作業を割り当てる。すなわち、本実施の形態では、ソフトウェアの開発についてクラウドソーシングが行われるだけでなく、インナーワーカへの委託(以下「インナーソーシング」という。)が行われる。そうすることで、機密情報の漏洩リスクを低減させることができる。 The development support server 10 is one or more computers that manage software development work and the like. The development support server 10 crowdsources the software development work developed by the organization X to the workers existing in the cloud environment. However, the development support server 10 allocates the work to the workers in the inner environment for the highly confidential part of the development work or the software to be developed. That is, in the present embodiment, not only crowdsourcing is performed for software development, but also outsourcing to an inner worker (hereinafter referred to as "inner sourcing") is performed. By doing so, the risk of leakage of confidential information can be reduced.
 インナー環境の作業端末20は、組織Xに属する作業者(以下、「インナーワーカ」という。)がソフトウェアの開発作業に利用するPC等の端末である。 The work terminal 20 in the inner environment is a terminal such as a PC used by a worker belonging to the organization X (hereinafter referred to as "inner worker") for software development work.
 クラウド環境の作業端末20は、組織Xの外部の組織Xの属さない作業者(以下、「クラウドワーカ」という。)がソフトウェアの開発作業に利用するPC(Personal Computer)等の端末である。 The work terminal 20 in the cloud environment is a terminal such as a PC (Personal Computer) used by workers outside the organization X to which the organization X does not belong (hereinafter referred to as "cloud worker") for software development work.
 図2は、第1の実施の形態における開発支援サーバ10のハードウェア構成例を示す図である。図2の開発支援サーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。 FIG. 2 is a diagram showing a hardware configuration example of the development support server 10 according to the first embodiment. The development support server 10 of FIG. 2 has a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like, which are connected to each other by a bus B, respectively.
 開発支援サーバ10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。 The program that realizes the processing on the development support server 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100. However, the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network. The auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って開発支援サーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。 The memory device 103 reads and stores the program from the auxiliary storage device 102 when the program is instructed to start. The CPU 104 executes the function related to the development support server 10 according to the program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network.
 図3は、第1の実施の形態における開発支援サーバ10の機能構成例を示す図である。図3において、開発支援サーバ10は、解析部11、委託先分類部12及び開発管理部13を有する。これら各部は、開発支援サーバ10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。開発支援サーバ10は、また、タスク情報記憶部121、キーワード記憶部122及び分類結果記憶部123を利用する。これら各記憶部は、例えば、補助記憶装置102、又は開発支援サーバ10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。 FIG. 3 is a diagram showing a functional configuration example of the development support server 10 in the first embodiment. In FIG. 3, the development support server 10 has an analysis unit 11, a contractor classification unit 12, and a development management unit 13. Each of these parts is realized by a process of causing the CPU 104 to execute one or more programs installed on the development support server 10. The development support server 10 also uses the task information storage unit 121, the keyword storage unit 122, and the classification result storage unit 123. Each of these storage units can be realized by using, for example, an auxiliary storage device 102, a storage device that can be connected to the development support server 10 via a network, or the like.
 解析部11は、開発対象のソフトウェアに関する設計作業において作成された当該ソフトウェアの複数の機能のそれぞれの仕様(機能仕様)について、当該仕様に係る開発作業を複数の作業者によって分担可能なように分割した単位(以下、「タスク」という。)ごとに、当該部分の仕様に関する情報における文字列の構成を解析する。本実施の形態では、当該構成として、予め設定された文字列群(キーワード記憶部122に記憶されたキーワード群)の共起状況が解析される。なお、仕様の分割については、例えば、非特許文献1に記載された技術が用いられて行われてもよい。 The analysis unit 11 divides the specifications (functional specifications) of the plurality of functions of the software created in the design work related to the software to be developed so that the development work related to the specifications can be shared by a plurality of workers. For each unit (hereinafter referred to as "task"), the composition of the character string in the information related to the specifications of the relevant part is analyzed. In the present embodiment, the co-occurrence status of a preset character string group (keyword group stored in the keyword storage unit 122) is analyzed as the configuration. The specification may be divided by using, for example, the technique described in Non-Patent Document 1.
 委託先分類部12は、解析部11による解析結果に基づいて、各タスクの開発作業の委託先をインナーワーカ(インナー環境)又はクラウドワーカ(クラウド環境)に分類する。 The outsourcer classification unit 12 classifies the outsourcer of the development work of each task into an inner worker (inner environment) or a cloud worker (cloud environment) based on the analysis result by the analysis unit 11.
 開発管理部13は、各タスクについて、作業者への振り分けや進捗状況(ステータス)の管理等、タスクについて公知のクラウドソーシングにおいて行われている処理と同様の処理を行う。 The development management unit 13 performs the same processing as that performed in publicly known crowdsourcing for each task, such as distribution to workers and management of progress status (status).
 タスク情報記憶部121には、開発対象のソフトウェアの各仕様のタスクへの分類結果が記憶されている
 図4は、タスク情報記憶部121の構成例を示す図である。図4に示されるように、タスク情報記憶部121は、仕様ごとに「仕様番号」、「仕様名称」、及び当該仕様に属する1以上のタスクに関する情報(以下、「タスク情報」という。)を含む情報(以下、「仕様情報」という。)記憶されている。タスク情報は、「タスク番号」、「タスク名称」及び「説明文」等を含む。
The task information storage unit 121 stores the classification results of the software to be developed into tasks of each specification. FIG. 4 is a diagram showing a configuration example of the task information storage unit 121. As shown in FIG. 4, the task information storage unit 121 stores "specification number", "specification name", and information on one or more tasks belonging to the specification (hereinafter, referred to as "task information") for each specification. Information to be included (hereinafter referred to as "specification information") is stored. The task information includes a "task number", a "task name", a "description", and the like.
 「仕様番号」、各仕様(すなわち、各機能)に対して割り当てられた識別番号である。「仕様名称」は、各仕様(すなわち、各機能)に対して付与された名称である。「タスク番号」は、タスクが属する1つの仕様内におけるタスクの識別番号である。なお、本実施の形態では、仕様内における各タスクに対応する部分(機能の一部分)の処理の実行順がタスク番号として利用されている。「タスク名称」は、タスクに対して付与された名称である。「説明文」は、タスクに対応する部分の機能に関する機能又は機能仕様に関する説明文(文字列)である。 "Specification number", an identification number assigned to each specification (that is, each function). The "specification name" is a name given to each specification (that is, each function). The "task number" is a task identification number within one specification to which the task belongs. In the present embodiment, the execution order of the processing of the part (a part of the function) corresponding to each task in the specification is used as the task number. The "task name" is a name given to the task. The "description" is a description (character string) relating to the function or the functional specification of the part corresponding to the task.
 なお、図4では、便宜上、1つの仕様(「保険料金計算」)に関する情報のみが示されているが、複数の仕様のそれぞれに関して「仕様番号」、「仕様名称」、及びタスク情報がタスク情報記憶部121に記憶されている。各仕様に属するタスクの数(すなわち、各仕様の分割数)は、同じでなくてよい。 In FIG. 4, for convenience, only information related to one specification (“insurance charge calculation”) is shown, but “specification number”, “specification name”, and task information are task information for each of the plurality of specifications. It is stored in the storage unit 121. The number of tasks belonging to each specification (ie, the number of divisions in each specification) does not have to be the same.
 キーワード記憶部122には、タスク情報記憶部121に記憶されている各タスク定義情報について、機密性の高さを評価するためのキーワード文(文字列群)が記憶されている。 The keyword storage unit 122 stores a keyword sentence (character string group) for evaluating the high degree of confidentiality of each task definition information stored in the task information storage unit 121.
 図5は、キーワード記憶部122の構成例を示す図である。図5に示されるように、キーワード記憶部122には、出現語ごとに1以上固有表現が対応付けられて記憶されている(すなわち、出現語と1以上の固有表現との組からなるキーワード群の集合が記憶されている)。 FIG. 5 is a diagram showing a configuration example of the keyword storage unit 122. As shown in FIG. 5, in the keyword storage unit 122, one or more named entity is associated with each appearing word and stored (that is, a keyword group consisting of a set of the appearing word and one or more named entity). The set of is remembered).
 出現語とは、各タスク定義情報の機密性が相対的に高いことの条件となるキーワードであり、機密性の評価において最初に検索対象とされる文字列である。換言すれば、出現語が含まれていないタスク定義情報の機密性は相対的に低いと評価される。固有表現は、タスク定義情報において出現語と共起している場合に、当該タスク定義情報の機密性の評価を相対的に高くするキーワードである。 The appearing word is a keyword that is a condition that the confidentiality of each task definition information is relatively high, and is a character string that is first searched for in the evaluation of confidentiality. In other words, the confidentiality of the task definition information that does not include the occurrence word is evaluated to be relatively low. Named entity recognition is a keyword that relatively raises the evaluation of the confidentiality of the task definition information when it co-occurs with the appearing word in the task definition information.
 図5の例では、「保険料金」という出現語に対して、「車種」、「年齢」、「等級」、「契約年数」が固有表現として対応付けられている。これは、開発対象のソフトウェアにおいて、「車種」、「年齢」、「等級」及び「契約年数」が「保険料金」の因子となるからである。すなわち、「保険料金」と「車種」、「年齢」、「等級」及び「契約年数」とを含む文書が組織Xの外部に公開されると、「車種」、「年齢」、「等級」及び「契約年数」が「保険料金」の因子であるという機密情報が漏洩するリスクが有る。したがって、「保険料金」という出現語に対して、「車種」、「年齢」、「等級」、「契約年数」が固有表現として対応付けられている。 In the example of FIG. 5, "vehicle type", "age", "grade", and "contract years" are associated with the appearance word "insurance fee" as unique expressions. This is because, in the software to be developed, "vehicle type", "age", "grade" and "contract years" are factors of "insurance fee". That is, when a document containing "insurance fee" and "vehicle type", "age", "grade" and "contract years" is published outside Organization X, "vehicle type", "age", "grade" and There is a risk of leakage of confidential information that "years of contract" is a factor of "insurance charges". Therefore, "vehicle type", "age", "grade", and "years of contract" are associated with the appearance word "insurance fee" as unique expressions.
 なお、図5では、出現語は1つしか示されていないが、複数の出現語のそれぞれに対して1以上の固有表現が予め定義される。 Although only one appearing word is shown in FIG. 5, one or more named entities are defined in advance for each of the plurality of appearing words.
 以下、開発支援サーバ10が実行する処理手順について説明する。図6は、第1の実施の形態において開発支援サーバ10が実行する処理手順の一例を説明するためのフローチャートである。 The processing procedure executed by the development support server 10 will be described below. FIG. 6 is a flowchart for explaining an example of the processing procedure executed by the development support server 10 in the first embodiment.
 図6に示される処理手順において、解析部11は、キーワード記憶部122(図5)に記憶されている出現語ごとにループ処理L1を実行する。以下、ループ処理L1において処理対象とされている出現語を「対象出現語」という。ループ処理L1は、タスク情報記憶部121(図4)に仕様情報が記憶されている仕様ごとにステップS101~S107が実行されるループ処理L2を含む。以下、ループ処理L2において処理対象とされている仕様を「対象仕様」という。 In the processing procedure shown in FIG. 6, the analysis unit 11 executes the loop processing L1 for each occurrence word stored in the keyword storage unit 122 (FIG. 5). Hereinafter, the appearance word that is the processing target in the loop processing L1 is referred to as a “target appearance word”. The loop process L1 includes a loop process L2 in which steps S101 to S107 are executed for each specification in which the specification information is stored in the task information storage unit 121 (FIG. 4). Hereinafter, the specifications to be processed in the loop processing L2 are referred to as "target specifications".
 ステップS101において、解析部11は、対象仕様の「仕様名称」が対象出現語を含むか否かを判定する。当該「仕様名称」が対象出現語を含む場合(S101でYes)、解析部11は、対象仕様に属する全てのタスクのそれぞれについて、「仕様名称」、当該タスクの「タスク名称」及び「説明文」を合わせた(結合した)文字列群における、対象出現語に対応する各固有表現(以下、「対象固有表現」という。)の出現数(すなわち、共起数)をカウントする(S102)。 In step S101, the analysis unit 11 determines whether or not the "specification name" of the target specification includes the target appearance word. When the "specification name" includes the target occurrence word (Yes in S101), the analysis unit 11 describes the "specification name", the "task name" and the "description" of the task for each of the tasks belonging to the target specification. The number of occurrences (that is, the number of co-occurrence) of each named entity (hereinafter, referred to as "object named entity") corresponding to the target named word in the combined (combined) character string group is counted (S102).
 例えば、図4において「仕様名称」が「保険料金計算」である仕様が対象仕様である場合において、対象出現語が図5における「保険料金」である場合、当該「仕様名称」である「保険料金計算」は、対象出現語を含む。したがって、この場合ステップS102において、対象仕様の「仕様名称」、「タスク名称」及び「説明文」における、「車種」、「年齢」、「等級」及び「契約年数」のそれぞれの共起数が対象仕様に属する5つのタスクについてカウントされる。 For example, when the specification whose "specification name" is "insurance charge calculation" in FIG. 4 is the target specification and the target word is "insurance charge" in FIG. 5, the "specification name" is "insurance". "Charge calculation" includes the target word. Therefore, in this case, in step S102, the number of co-occurrence of each of "vehicle type", "age", "grade" and "contract years" in the "specification name", "task name" and "description" of the target specification is It is counted for 5 tasks belonging to the target specification.
 図7は、固有表現の共起数のカウント結果の一例を示す図である。図7には、「仕様番号」が「01」である仕様について、出現語「保険料金」と、当該出現語に対応する各固有表現との共起数のカウント結果が示されている。図7は、ステップS102の実行結果であるため、各固有表現について、「仕様名称」における出現数と、「タスク名称」における出現数と、「説明文」における出現数との合計が示されている。 FIG. 7 is a diagram showing an example of the count result of the number of co-occurrence of the named entity. FIG. 7 shows the count result of the number of co-occurrence of the occurrence word “insurance fee” and each named entity corresponding to the appearance word for the specification in which the “specification number” is “01”. Since FIG. 7 is the execution result of step S102, the total of the number of appearances in the “specification name”, the number of appearances in the “task name”, and the number of appearances in the “description” is shown for each named entity. There is.
 一方、対象仕様の「仕様名称」が対象出現語を含まない場合(S101でNo)、解析部11は、対象仕様に属するタスクごと、ステップS103~S105を含むループ処理L3を実行する。以下、ループ処理L3において処理対象とされているタスクを「対象タスク」という。 On the other hand, when the "specification name" of the target specification does not include the target occurrence word (No in S101), the analysis unit 11 executes the loop process L3 including steps S103 to S105 for each task belonging to the target specification. Hereinafter, the task to be processed in the loop processing L3 is referred to as a “target task”.
 ステップS103において、解析部11は、対象タスクの「タスク名称」又は「説明文」に(これらの双方又はいずれか一方に)対象出現語が含まれているか否かを判定する(S103)。対象タスクの「タスク名称」又は「説明文」に対象出現語が含まれている場合(S103でYes)、解析部11は、対象仕様の「仕様名称」と、対象タスクの「タスク名称」及び「説明文」とを合わせた文字列群の中における各対象固有表現の出現数(すなわち、共起数)をカウントする(S104)。一方、「タスク名称」及び「説明文」のいずれにも対象出現語が含まれていない場合(S103でNo)、解析部11は、対象タスクについて、各固有表現の共起数は0であると判定する(S105)。 In step S103, the analysis unit 11 determines whether or not the target occurrence word is included in the "task name" or "description" of the target task (both or either of them) (S103). When the target occurrence word is included in the "task name" or "description" of the target task (Yes in S103), the analysis unit 11 uses the "specification name" of the target specification, the "task name" of the target task, and the target task. The number of appearances (that is, the number of co-occurrences) of each object-specific expression in the character string group including the "description" is counted (S104). On the other hand, when the target occurrence word is not included in either the "task name" or the "description" (No in S103), the analysis unit 11 has 0 co-occurrence of each named entity for the target task. (S105).
 ループ処理L3が終了すると、図7と同様の形式で、対象仕様に属するタスクごとに対象出現語についての各固有表現の共起数のカウント結果が生成される。 When the loop process L3 is completed, the count result of the number of co-occurrence of each named entity for the target occurrence word is generated for each task belonging to the target specification in the same format as in FIG.
 例えば、図4に示される仕様情報において、「仕様名称」に「保険料金」という文字列(対象出現語)が含まれていなかったとする。この場合、タスク番号が2、3、4、5のタスクは、「タスク名称」又は「説明文」に「保険料金」を含む。したがって、これらの各タスクについては、「仕様名称」、「タスク名称」及び「説明文」における各対象固有表現の出現数がカウントされる。一方、タスク番号が1のタスクの「タスク名称」及び「説明文」は「保険料金」を含まない。したがって、当該タスクについての各対象固有表現の共起数のカウント結果は0となる。 For example, in the specification information shown in FIG. 4, it is assumed that the character string (target appearance word) of "insurance fee" is not included in the "specification name". In this case, the tasks having task numbers 2, 3, 4, and 5 include "insurance fee" in the "task name" or "description". Therefore, for each of these tasks, the number of appearances of each named entity in the "specification name", "task name", and "description" is counted. On the other hand, the "task name" and "description" of the task whose task number is 1 do not include the "insurance fee". Therefore, the count result of the number of co-occurrence of each named entity for the task is 0.
 ステップS102又はループ処理L3に続いて、解析部11は、対象仕様に属するタスクごとに、各対象固有表現の共起数のカウント結果に基づいて、網羅率及び共起頻度を計算する(S106、S107)。網羅率は及び出現頻度のそれぞれは、以下の式に基づいて計算される。
網羅率=(共起数が1以上である対象固有表現の個数÷対象固有表現の総数)×100(%) ・・・(1)
出現頻度=Σ各対象固有表現の共起数 ・・・(2)
 図8は、タスクごとの網羅率及び共起頻度の解析結果の一例を示す図である。図8において、対象固有表現の総数=4である。一方、タスク1において、共起数が1以上である対象固有表現は「車種」の1つである。したがって、タスク1の網羅率=(1÷4)×100=25(%)である。また、タスク1において「車種」の共起数は4であり、他の対象固有表現の共起数は0である。したがって、タスク1の共起頻度=4である。
Following step S102 or loop processing L3, the analysis unit 11 calculates the coverage rate and co-occurrence frequency for each task belonging to the target specification based on the count result of the number of co-occurrence of each named entity. S107). The coverage rate and the frequency of appearance are calculated based on the following formulas.
Coverage rate = (number of named entity with co-occurrence of 1 or more ÷ total number of named entity) × 100 (%) ・ ・ ・ (1)
Occurrence frequency = Σ Co-occurrence number of each object named entity ... (2)
FIG. 8 is a diagram showing an example of the analysis results of the coverage rate and the co-occurrence frequency for each task. In FIG. 8, the total number of object named entities = 4. On the other hand, in task 1, the named entity with a co-occurrence number of 1 or more is one of the "vehicle types". Therefore, the coverage rate of task 1 = (1/4) × 100 = 25 (%). Further, in task 1, the number of co-occurrence of "vehicle type" is 4, and the number of co-occurrence of other named entity-specific expressions is 0. Therefore, the co-occurrence frequency of task 1 = 4.
 一方、タスク3において、共起数が1以上である対象固有表現は4つである。したがって、タスク3の網羅率=(4÷4)×100=100(%)である。また、タスク3において、各対象固有表現の共起数は1である。したがって、タスク3の共起頻度=4である。他のタスクについては、各対象固有表現の共起数が0であるため、網羅率=0(%)であり、共起頻度=0である。 On the other hand, in task 3, there are four named entity-specific expressions whose co-occurrence number is 1 or more. Therefore, the coverage rate of task 3 = (4/4) × 100 = 100 (%). Further, in task 3, the number of co-occurrence of each named entity is 1. Therefore, the co-occurrence frequency of task 3 = 4. For other tasks, since the number of co-occurrence of each named entity is 0, the coverage rate is 0 (%) and the co-occurrence frequency is 0.
 なお、網羅率は、固有表現ごとの重みが用いられた加重平均として計算されてもよい。そうすることで、固有表現ごとに機密性の高さ(機密性に対する重要度)の相違を考慮することができる。 Note that the coverage rate may be calculated as a weighted average using weights for each named entity. By doing so, it is possible to consider the difference in the degree of confidentiality (importance to confidentiality) for each named entity.
 また、上記では、「仕様名称」からも固有表現の出現数(共起数)がカウントされる例を示したが、「仕様名称」が委託先に対して隠蔽される場合には、「仕様名称」は、固有表現の出現数(共起数)のカウント対象から除外されてもよい。 In addition, in the above, an example is shown in which the number of appearances (co-occurrence) of named entity is counted from the "specification name", but when the "specification name" is hidden from the contractor, the "specification" is shown. The "name" may be excluded from the count target of the number of occurrences (co-occurrence) of the named entity.
 全ての仕様情報についてループ処理L2が終了し、全ての出現語についてループ処理L1が終了すると、委託先分類部12は、各仕様に属する各タスクの委託先を分類する(S108)。具体的には、委託先分類部12は、各仕様の各タスクについて、出現語ごとに計算された網羅率を予め設定されている閾値と比較することにより、各仕様の各タスクの委託先を判定する。すなわち、委託先分類部12は、いずれか1以上の出現語について網羅率が閾値以上であるタスクの委託先はインナーワーカ(インナー環境)に分類し、全ての出現語について網羅率が閾値未満であるタスクの委託先はクラウドワーカ(クラウド環境)に分類する。網羅率が用いられるのは、出現語がより多くの固有表現と共起している場合の方が、機密情報が漏洩する可能性が高いと考えられるからである。 When the loop processing L2 is completed for all the specification information and the loop processing L1 is completed for all the appearing words, the consignee classification unit 12 classifies the consignees of each task belonging to each specification (S108). Specifically, the outsourcer classification unit 12 determines the outsourcer of each task of each specification by comparing the coverage rate calculated for each occurrence word with a preset threshold value for each task of each specification. judge. That is, the outsourcer classification unit 12 classifies the outsourcer of the task whose coverage rate is equal to or higher than the threshold value for any one or more of the appearing words into the inner worker (inner environment), and the coverage rate is less than the threshold value for all the appearing words. A task is outsourced to a cloud worker (cloud environment). The coverage rate is used because it is considered that confidential information is more likely to be leaked when the appearing words co-occur with more named entities.
 例えば、図9は、各タスクの委託先の分類結果の一例を示す図である。図9には、出現語が「保険料金」だけである場合において、各固有表現の網羅率等の解析結果が図8に示した通りである場合の各タスクの委託先の分類結果を示す。なお、図9では、網羅率に対する閾値は50%としている。この場合、タスク3の委託先はインナーワーカに分類され、タスク3以外のタスクの委託先はクラウドワーカに分類される。図4を参照しても、タスク3については、「保険料金」と、「車種」、「年齢」、「等級」及び「契約年数」とが共起しており、タスク3がクラウドワーカに委託された場合、保険料金の計算方法が組織Xの外部において推測されるリスクが高くなってしまうこと推測されるが、第1の実施の形態によれば、このような事態の発生を回避することができる。なお、出現語が複数定義されている場合には、タスク3以外のタスクについても委託先がインナーワーカに分類される可能性が有る。 For example, FIG. 9 is a diagram showing an example of the classification result of the contractor of each task. FIG. 9 shows the classification result of the contractor of each task when the analysis result such as the coverage rate of each named entity is as shown in FIG. 8 when the appearing word is only “insurance fee”. In FIG. 9, the threshold value for the coverage rate is set to 50%. In this case, the outsourcer of task 3 is classified as an inner worker, and the outsourcer of tasks other than task 3 is classified as a cloud worker. Also referring to FIG. 4, for task 3, "insurance fee", "vehicle type", "age", "grade" and "contract years" co-occur, and task 3 is outsourced to a cloud worker. If this is the case, it is presumed that the risk that the insurance premium calculation method will be estimated outside the organization X will increase, but according to the first embodiment, it is necessary to avoid such a situation. Can be done. If a plurality of appearing words are defined, the contractor may be classified as an inner worker for tasks other than task 3.
 なお、委託先分類部12は、図9に示されるような分類結果を分類結果記憶部123に記憶する。 The contractor classification unit 12 stores the classification result as shown in FIG. 9 in the classification result storage unit 123.
 なお、上記では、網羅率のみを用いて委託先を分類する例を示したが、更に、共起頻度が用いられて委託先が分類されてもよい。 In the above, the example of classifying the consignees using only the coverage rate is shown, but the consignees may be further classified using the co-occurrence frequency.
 委託先分類部12による分類結果は開発管理部13へ入力される。開発管理部13は、インナー環境においては、委託先がインナーワーカに分類されたタスクの一覧を含むタスク一覧画面(Webページ)を公開し、クラウド環境においては、委託先がクラウドワーカに分類されたタスクの一覧を含むタスク一覧画面(Webページ)を公開することで、各タスクの受託者を募集する。ここで、タスク一覧画面の公開とは、ネットワークを介して当該タスク一覧画面にアクセス可能とすることをいう。その結果、クラウドワーカが担当可能なタスクは、委託先がクラウドワーカに分類されたタスクに制限される。クラウド環境及びインナー環境の各作業者は、それぞれの作業端末20において表示されるタスク一覧画面に示されているタスクの一覧の中から、自らが開発の担当を希望するタスクを受託する(引き取る)。すなわち、委託先分類部12は、各タスクに委託先について作業者の特定までは行わない。開発管理部13による受託者の募集は、公知のクラウドソーシング等と同様に行われればよい。複数の作業者による重複開発を避けるための排他制御等についても公知技術を用いて行われればよい。 The classification result by the contractor classification unit 12 is input to the development management unit 13. In the inner environment, the development management unit 13 publishes a task list screen (Web page) including a list of tasks for which the contractor is classified as an inner worker, and in the cloud environment, the contractor is classified as a cloud worker. By publishing the task list screen (Web page) including the task list, we are recruiting entrustees for each task. Here, the disclosure of the task list screen means that the task list screen can be accessed via the network. As a result, the tasks that the cloud worker can take charge of are limited to the tasks for which the contractor is classified as a cloud worker. Each worker in the cloud environment and the inner environment accepts (takes over) the task that he / she wants to be in charge of development from the list of tasks displayed on the task list screen displayed on each work terminal 20. .. That is, the subcontractor classification unit 12 does not identify the worker for each task. The recruitment of trustees by the development management department 13 may be carried out in the same manner as known crowdsourcing and the like. Exclusive control for avoiding duplicate development by a plurality of workers may also be performed using a known technique.
 上述したように、第1の実施の形態によれば、各タスクの機密性の高さに応じて各タスクの委託先が分類される。具体的には、機密性が高い(機密情報の漏洩の可能性が有る)タスク委託先はインナーワーカに分類され、そうでないタスクのみの委託先がクラウドワーカに分類される。その結果、機密性の高い機能を含むソフトウェアであってもクラウドソーシングの利用を可能とすることができる。 As described above, according to the first embodiment, the contractors of each task are classified according to the high degree of confidentiality of each task. Specifically, highly confidential task consignees (which may leak confidential information) are classified as inner workers, and non-confidential task consignees are classified as cloud workers. As a result, it is possible to use crowdsourcing even for software that includes highly confidential functions.
 次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。 Next, the second embodiment will be described. The second embodiment will be described which is different from the first embodiment. The points not particularly mentioned in the second embodiment may be the same as those in the first embodiment.
 ソフトウェアの開発においては、各タスクの作業工程(作業フェーズ)は、時系列順に実装工程(実装作業)とレビュー工程(レビュー作業)とに分類される。実装工程は、タスクに関する機能についての実装(プログラミング等)が行われる作業工程である。レビュー工程は、実装工程における成果物(プログラムのソースコード等)についてレビューが行われる作業工程である。一般的に、同一タスクについて実装工程を担当する作業者(実装者)とレビュー工程を担当する作業者(レビュア)とは異なるのが望ましい。更に、レビュアは、ソフトウェアの開発についてのスキルや経験が豊富である作業者であることが望ましい。 In software development, the work process (work phase) of each task is classified into a mounting process (mounting work) and a review process (review work) in chronological order. The mounting process is a work process in which functions related to tasks are implemented (programming, etc.). The review process is a work process in which the deliverables (program source code, etc.) in the mounting process are reviewed. In general, it is desirable that the worker (implementer) in charge of the mounting process and the worker (reviewer) in charge of the review process are different for the same task. Furthermore, the reviewer should be a worker who has abundant skills and experience in software development.
 そこで、第2の実施の形態において、開発管理部13は、各タスクについて作業工程別に進捗(開始及び終了等)を管理し、実装工程が終了したタスク(タスクを受託した作業者の作業端末20から実装工程が終了したことが通知されたタスク)については、レビュー工程の作業者を改めて募集する。例えば、作業一覧画面においてタスクごとにステータスが表示されてもよい。ステータスとしては、「未実装」、「実装中」、「実装完」、「レビュー中」及び「レビュー完」等が有る。「未実装」は、タスクが受託されていない状態をいう。「実装中」は、タスクがいずれかの作業者によって受託され、実装が行われている状態をいう。「実装完」は、タスクの実装工程が終了し、レビュアを募集中の状態をいう。「レビュー中」は、レビュアによってタスクが引き取られ、実装工程の成果物についてレビューが行われている状態をいう。「レビュー完」は、レビュー工程が完了した状態、すなわち、実装工程における成果物が完成し、タスクに関する全作業工程が終了した状態をいう。 Therefore, in the second embodiment, the development management unit 13 manages the progress (start and end, etc.) of each task for each work process, and the task (work terminal 20 of the worker entrusted with the task) for which the implementation process has been completed. For tasks that have been notified that the mounting process has been completed), we will recruit workers for the review process again. For example, the status may be displayed for each task on the work list screen. The status includes "not implemented", "implementing", "implementing completed", "reviewing", "reviewing completed", and the like. "Unimplemented" means that the task has not been entrusted. "Implementing" means that the task has been entrusted by one of the workers and is being implemented. "Implementation completed" means that the task implementation process has been completed and reviewers are being recruited. “Under review” means that the reviewer has taken over the task and is reviewing the deliverables of the mounting process. "Review completed" means a state in which the review process is completed, that is, a state in which the deliverable in the mounting process is completed and all the work processes related to the task are completed.
 なお、第1の実施の形態において、各タスクについて分類されるのは、実装工程の委託先である。ここで、第1の実施の形態において実装工程の委託先がクラウドワーカに分類されたタスクのレビュー工程の委託先が、自動的にクラウドワーカに限定されてしまうと(すなわち、実装工程の募集の際のタスク一覧画面において単純にステータスのみが更新されてしまうと)、レビュアとして相応しいスキル又は経験を有していない作業者によってレビュー工程が実施されてしまう可能性が有る。その結果、当該タスク、ひいては当該タスクを含むソフトウェアの品質について低下のリスクが有る。 In the first embodiment, it is the contractor of the mounting process that is classified for each task. Here, if the outsourcer of the implementation process is classified as a cloud worker in the first embodiment, the outsourcer of the task review process is automatically limited to the cloud worker (that is, the recruitment of the implementation process). If only the status is simply updated on the task list screen at the time), there is a possibility that the review process will be carried out by a worker who does not have the appropriate skills or experience as a reviewer. As a result, there is a risk of deterioration in the quality of the task and, by extension, the software containing the task.
 第2の実施の形態では、斯かる問題点を解決する例について説明する。 In the second embodiment, an example of solving such a problem will be described.
 図10は、第2の実施の形態における開発支援サーバ10の機能構成例を示す図である。図10中、図3と同一部分には同一符号を付し、その説明は省略する。 FIG. 10 is a diagram showing a functional configuration example of the development support server 10 in the second embodiment. In FIG. 10, the same parts as those in FIG. 3 are designated by the same reference numerals, and the description thereof will be omitted.
 図10において、開発支援サーバ10は、更に、レビュー先分類部14を有する。レビュー先分類部14は、開発支援サーバ10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。開発支援サーバ10は、更に、実装実績記憶部124及びレビュー先制限記憶部125を利用する。これら各記憶部は、例えば、補助記憶装置102、又は開発支援サーバ10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。 In FIG. 10, the development support server 10 further has a review destination classification unit 14. The review destination classification unit 14 is realized by a process of causing the CPU 104 to execute one or more programs installed on the development support server 10. The development support server 10 further uses the implementation record storage unit 124 and the review destination restriction storage unit 125. Each of these storage units can be realized by using, for example, an auxiliary storage device 102, a storage device that can be connected to the development support server 10 via a network, or the like.
 図11は、第2の実施の形態において開発支援サーバ10が実行する処理手順の一例を説明するためのフローチャートである。 FIG. 11 is a flowchart for explaining an example of the processing procedure executed by the development support server 10 in the second embodiment.
 レビュー先分類部14は、ステータスが「実装中」であるいずれかのタスク(以下、「対象タスク」という。)について、実装が終了したことを検知すると(S201でYes)、対象タスクの実装工程の委託先がクラウドワーカであるか否かを判定する(S202)。 When the review destination classification unit 14 detects that the implementation of any task whose status is "implementing" (hereinafter referred to as "target task") has been completed (Yes in S201), the review destination classification unit 14 implements the target task. Determines whether or not the contractor is a cloud worker (S202).
 例えば、いずれかのタスクの実装工程の受託者の作業端末20は、当該実装工程が完了すると、当該タスクの実装工程の成果物を含む完了通知を開発支援サーバ10の開発管理部13へ送信する。当該完了通知には、更に、当該タスクの仕様番号及びタスク番号が含まれている。開発管理部13は、当該タスクのステータスを「実装完」に更新すると共に、当該完了通知をレビュー先分類部14に転送する。この際、当該完了通知の送信元の作業端末20に対応する作業者の識別情報(以下、「作業者ID」という。)と当該作業者がクラウドワーカであるか否かを示す情報とがレビュー先分類部14に通知される。レビュー先分類部14は、当該完了通知に基づいて対象タスクの実装の完了を検知することができると共に、対象タスクの委託先がクラウドワーカであるか否かを判定することができる。 For example, when the implementation process of any task is completed, the work terminal 20 of the contractor of the implementation process transmits a completion notification including the deliverable of the implementation process of the task to the development management unit 13 of the development support server 10. .. The completion notification further includes a specification number and a task number of the task. The development management unit 13 updates the status of the task to "implementation completed" and transfers the completion notification to the review destination classification unit 14. At this time, the identification information of the worker corresponding to the work terminal 20 of the transmission source of the completion notification (hereinafter referred to as "worker ID") and the information indicating whether or not the worker is a cloud worker are reviewed. The preclassification unit 14 is notified. The review destination classification unit 14 can detect the completion of the implementation of the target task based on the completion notification, and can determine whether or not the contractor of the target task is a cloud worker.
 対象タスクの実装工程の委託先がインナーワーカである場合(S202でNo)、レビュー先分類部14は、ステップS203以降は実行しない。この場合、対象タスクのレビュー工程の委託先はインナーワーカのままとされる。 When the contractor of the implementation process of the target task is an inner worker (No in S202), the review destination classification unit 14 does not execute after step S203. In this case, the contractor of the review process of the target task remains the inner worker.
 一方、対象タスクの実装工程の委託先がインナーワーカである場合(S202でNo)、レビュー先分類部14は、対象タスクを受託した作業者(以下、「対象作業者」という。)の信頼度ランクを実装実績記憶部124から取得する(S203)。 On the other hand, when the contractor of the implementation process of the target task is an inner worker (No in S202), the review destination classification unit 14 determines the reliability of the worker who has been entrusted with the target task (hereinafter referred to as “target worker”). The rank is acquired from the mounting record storage unit 124 (S203).
 図12は、実装実績記憶部124の構成例を示す図である。図12に示されるように、実装実績記憶部124には、クラウドワーカごとに作業者ID、実装実績情報及び信頼度ランク等が記憶されている。 FIG. 12 is a diagram showing a configuration example of the mounting record storage unit 124. As shown in FIG. 12, the mounting record storage unit 124 stores a worker ID, mounting record information, reliability rank, and the like for each cloud worker.
 実装実績情報は、実装工程に関する過去の実績を示す情報であり、実装回数、レビュー通過数及びレビュー通過率等の項目を含む。実装回数は、作業者IDに係る作業者(クラウドワーカ)が実装工程を実施したタスクの数である。 The mounting record information is information showing the past record of the mounting process, and includes items such as the number of implementations, the number of reviews passed, and the review passing rate. The number of implementations is the number of tasks for which the worker (cloud worker) related to the worker ID has performed the implementation process.
 レビュー通過数は、実装回数に係るタスクのうち、レビュー工程を通過したタスクの数である。レビュー工程の通過とは、実装工程の成果物(ソースコード等)に問題無いことがレビュー工程において確認され、タスクのステータスが「レビュー完」になることをいう。なお、レビュー工程において成果物に問題が発見されたタスクは、実装工程に差し戻されてもよい。この場合の差し戻し先は当該タスクの実装工程を行った作業者である。当該作業者は、指摘された問題点を解消するために成果物を修正して改めて当該タスクの開発工程を終了させる。但し、差し戻された際の開発工程の実施は実装回数にカウントされない。又は、当該作業者は、指摘された問題点の解消を諦めて、当該タスクのステータスを「未実装」に戻すこともできる。この場合、当該作業者について、実装回数には1が加算されるが、レビュー通過数には1が加算されない。 The number of reviews passed is the number of tasks that have passed the review process among the tasks related to the number of implementations. Passing through the review process means that it is confirmed in the review process that there is no problem with the deliverables (source code, etc.) of the mounting process, and the task status becomes "review completed". A task in which a problem is found in the deliverable in the review process may be returned to the mounting process. In this case, the remand destination is the worker who performed the implementation process of the task. The worker corrects the deliverable in order to solve the problem pointed out, and ends the development process of the task again. However, the implementation of the development process when it is returned is not counted in the number of mountings. Alternatively, the worker can give up solving the problem pointed out and return the status of the task to "not implemented". In this case, for the worker, 1 is added to the number of implementations, but 1 is not added to the number of passing reviews.
 レビュー通過率は、実装回数に対するレビュー通過数の割合である。すなわち、レビュー通過率は、レビューが通過する確率である。 The review pass rate is the ratio of the number of reviews passed to the number of implementations. That is, the review passing rate is the probability that the review will pass.
 信頼度ランクは、実装工程に関する作業者の信頼度についての区分である。本実施の形態において、信頼度ランクは、A、B、Cの3段階に区分される。 The reliability rank is a classification of the reliability of the worker regarding the mounting process. In the present embodiment, the reliability rank is divided into three stages of A, B, and C.
 Aは、実装回数が30以上、かつ、レビュー通過率が80%以上という条件を満たす区分である。Bは、実装回数が15以上、かつ、レビュー通過率が50%以上という条件を満たす区分である。Cは、AでもなくBでもない区分である。したがって、信頼度の高さの関係は、A>B>Cとなる。すなわち、図12は、これまでのクラウドソーシングにおけるタスクの実施数と、実装作業の正確性に関する成績(=実装したタスクのレビュー通過率)に基づき、クラウドワーカの信頼度のランク付けが行われる例を示す。なお、信頼度ランクの数及び各信頼度ランクに対する条件は一例に過ぎない。 A is a category that satisfies the condition that the number of implementations is 30 or more and the review passing rate is 80% or more. B is a category that satisfies the condition that the number of implementations is 15 or more and the review passing rate is 50% or more. C is a category that is neither A nor B. Therefore, the relationship of high reliability is A> B> C. That is, FIG. 12 shows an example in which the reliability of cloud workers is ranked based on the number of tasks performed in crowdsourcing so far and the results regarding the accuracy of implementation work (= review passing rate of implemented tasks). Is shown. The number of reliability ranks and the conditions for each reliability rank are only examples.
 なお、或る作業者(クラウドワーカ)の実装実績情報及び信頼度ランクは、例えば、当該作業者が実装工程を担当したタスクのステータスが「未実装」に戻った際、又は「レビュー完」に更新された際に開発管理部13が更新する。或るタスクのステータスが「未実装」に戻った場合、開発管理部13は、当該タスクの実装工程の作業者の実装回数に1を加算し、レビュー通過率を更新する。開発管理部13は、また、当該作業者の信頼度ランクを判定し、必要に応じて当該信頼度ランクを更新する。一方。或るタスクのステータスが「レビュー完」に更新された場合、開発管理部13は、当該タスクの実装工程の作業者の実装回数及びレビュー通過数のそれぞれに1を加算し、レビュー通過率を更新する。開発管理部13は、また、当該作業者の信頼度ランクを判定し、必要に応じて当該信頼度ランクを更新する。 The implementation record information and reliability rank of a certain worker (cloud worker) are, for example, when the status of the task for which the worker was in charge of the mounting process returns to "not implemented" or "review completed". When it is updated, the development management unit 13 updates it. When the status of a certain task returns to "not implemented", the development management unit 13 adds 1 to the number of implementations of the worker in the implementation process of the task and updates the review passing rate. The development management unit 13 also determines the reliability rank of the worker, and updates the reliability rank as necessary. on the other hand. When the status of a task is updated to "review completed", the development management unit 13 adds 1 to each of the number of implementations and the number of reviews passed by the worker in the implementation process of the task, and updates the review pass rate. To do. The development management unit 13 also determines the reliability rank of the worker, and updates the reliability rank as necessary.
 続いて、レビュー先分類部14は、ステップS203において取得した信頼度ランク(以下、「対象信頼度ランク」という。)に基づいて、対象タスクのレビュー工程の委託先を分類する(S204)。斯かる分類は、レビュー先制限記憶部125を参照して行われる。 Subsequently, the review destination classification unit 14 classifies the contractors of the review process of the target task based on the reliability rank (hereinafter, referred to as “target reliability rank”) acquired in step S203 (S204). Such classification is performed with reference to the review destination restricted storage unit 125.
 図13は、レビュー先制限記憶部125の構成例を示す図である。図13に示されるように、レビュー先制限記憶部125には、信頼度ランクに対応付けてレビュー先の制限が記憶されている。レビュー先の制限とは、レビュー工程の委託先に関する制限をいう。 FIG. 13 is a diagram showing a configuration example of the review destination restriction storage unit 125. As shown in FIG. 13, the review destination restriction storage unit 125 stores the restriction of the review destination in association with the reliability rank. The restriction of the review destination means the restriction regarding the contractor of the review process.
 図13の例によれば、対象信頼度ランクがAである場合、レビュー先に対する制限は無いため、レビュー先分類部14は、対象タスクのレビュー工程の委託先をクラウドワーカとして判定する。すなわち、開発工程に続いてレビュー工程もクラウドワーカに委託される。また、対象信頼度ランクがBである場合、レビュー先分類部14は、対象タスクのレビュー工程の委託先を信頼度ランクがB以上であるクラウドワーカに分類する。また、対象信頼度がCである場合、レビュー先分類部14は、対象タスクのレビュー工程の委託先をインナーワーカに分類する。 According to the example of FIG. 13, when the target reliability rank is A, there is no restriction on the review destination, so the review destination classification unit 14 determines the contractor of the review process of the target task as a cloud worker. That is, following the development process, the review process is also outsourced to the cloud worker. When the target reliability rank is B, the review destination classification unit 14 classifies the contractor of the review process of the target task into a cloud worker having a reliability rank of B or higher. When the target reliability is C, the review destination classification unit 14 classifies the contractor of the review process of the target task as an inner worker.
 なお、レビュー先分類部14による分類結果は、開発管理部13に通知される。開発管理部13は、当該分類結果に基づいて、対象タスクの公開先を変更する。 The classification result by the review destination classification unit 14 is notified to the development management department 13. The development management unit 13 changes the disclosure destination of the target task based on the classification result.
 なお、上記では、実装工程の委託先がクラウドワーカに分類されたタスクのみがステップS203以降の処理対象とされる例について説明したが、実装工程の委託先がインナーワーカに分類されたタスクについてもステップS203以降が実行されるようにしてもよい。インナーワーカであっても、スキルや経験が少ない作業者が存在する可能性が有るからである。この場合、インナーワーカに対する信頼度ランクの区分の基準や、レビュー先制限記憶部125において信頼度ランクに対応付く制限の内容は、クラウドワーカに対するそれと異なる内容とされてもよい。 In the above, an example has been described in which only the tasks whose mounting process consignees are classified as cloud workers are subject to processing in steps S203 and subsequent steps, but also for tasks whose mounting process consignees are classified as inner workers. Step S203 and subsequent steps may be executed. This is because even an inner worker may have workers with little skill or experience. In this case, the criteria for classifying the reliability rank for the inner worker and the content of the restriction corresponding to the reliability rank in the review destination restriction storage unit 125 may be different from those for the cloud worker.
 上述したように、第2の実施の形態によれば、スキル及び経験が様々なクラウドワーカに対して実装工程が委託される場合であっても、品質低下のリスクが高くなる可能性が有る場合には、クラウドソーシング側に振り分けていたタスクを動的にインナーソーシング、又は信頼できるクラウドワーカに振分けを行えるようになる。その結果、クラウドソーシングを利用したソフトウェア開発の品質低下のリスクを抑制することができる。 As described above, according to the second embodiment, even when the implementation process is outsourced to cloud workers with various skills and experience, there is a possibility that the risk of quality deterioration may increase. In the meantime, the tasks assigned to the crowdsourcing side can be dynamically distributed to inner sourcing or a reliable cloud worker. As a result, the risk of quality deterioration of software development using crowdsourcing can be suppressed.
 なお、第2の実施の形態は、第1の実施の形態とは異なる方法によってタスクの委託先の分類が行われる場合であっても適用可能である。例えば、各タスクの開発工程の委託先が人手によってインナーワーカ又はクラウドワーカに分類された場合において、第2の実施の形態が適用されてもよい。 Note that the second embodiment can be applied even when the task consignees are classified by a method different from that of the first embodiment. For example, when the contractor of the development process of each task is manually classified as an inner worker or a cloud worker, the second embodiment may be applied.
 なお、上記各実施の形態において、開発支援サーバ10は、ソフトウェア開発支援装置の一例である。 In each of the above embodiments, the development support server 10 is an example of a software development support device.
 以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications are made within the scope of the gist of the present invention described in the claims.・ Can be changed.
10     開発支援サーバ
11     解析部
12     委託先分類部
13     開発管理部
14     レビュー先分類部
20     作業端末
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    CPU
105    インタフェース装置
121    タスク情報記憶部
122    キーワード記憶部
123    分類結果記憶部
124    実装実績記憶部
125    レビュー先制限記憶部
B      バス
10 Development support server 11 Analysis unit 12 Outsourced classification unit 13 Development management department 14 Review destination classification unit 20 Work terminal 100 Drive device 101 Recording medium 102 Auxiliary storage device 103 Memory device 104 CPU
105 Interface device 121 Task information storage unit 122 Keyword storage unit 123 Classification result storage unit 124 Implementation record storage unit 125 Review destination restriction storage unit B bus

Claims (7)

  1.  開発対象のソフトウェアを構成する複数の部分ごとに、当該部分の仕様に関する情報における文字列の構成を解析する解析部と、
     前記解析部による解析結果に基づいて、各部分の開発の委託先を前記ソフトウェアの開発元の組織内又は前記組織外に分類する委託先分類部と、
    を有することを特徴とするソフトウェア開発支援装置。
    For each of the multiple parts that make up the software to be developed, an analysis unit that analyzes the composition of the character string in the information related to the specifications of that part, and an analysis unit.
    Based on the analysis results by the analysis unit, the contractor classification unit that classifies the contractors for the development of each part into or outside the organization of the software developer.
    A software development support device characterized by having.
  2.  前記解析部は、前記部分の仕様に関する情報における、予め設定された文字列群の共起状況を解析する、
    ことを特徴とする請求項1記載のソフトウェア開発支援装置。
    The analysis unit analyzes the co-occurrence status of the preset character string group in the information regarding the specifications of the part.
    The software development support device according to claim 1.
  3.  前記委託先が前記組織外に分類された前記部分ごとに、当該部分の実装作業を担当した作業者の過去の実装作業に関する実績情報に基づいて、当該部分の前記実装作業に対するレビュー作業の委託先を前記組織内又は前記組織外に分類するレビュー先分類部、
    を有することを特徴とする請求項1又は2記載のソフトウェア開発支援装置。
    For each part where the contractor is classified outside the organization, the contractor of the review work for the mounting work of the part is based on the actual information on the past mounting work of the worker who was in charge of the mounting work of the part. Review destination classification unit, which classifies
    The software development support device according to claim 1 or 2, wherein the software development support device is characterized by having.
  4.  開発対象のソフトウェアを構成する複数の部分ごとに、当該部分の仕様に関する情報における文字列の構成を解析する解析手順と、
     前記解析手順における解析結果に基づいて、各部分の開発の委託先を前記ソフトウェアの開発元の組織内又は前記組織外に分類する委託先分類手順と、
    をコンピュータが実行することを特徴とするソフトウェア開発支援方法。
    For each of the multiple parts that make up the software to be developed, an analysis procedure that analyzes the composition of the character string in the information related to the specifications of that part, and the analysis procedure.
    Based on the analysis result in the analysis procedure, the contractor classification procedure for classifying the development contractor of each part into the organization of the software developer or outside the organization, and the contractor classification procedure.
    A software development support method characterized by a computer executing.
  5.  前記解析手順は、前記部分の仕様に関する情報における、予め設定された文字列群の共起状況を解析する、
    ことを特徴とする請求項4記載のソフトウェア開発支援方法。
    The analysis procedure analyzes the co-occurrence status of a preset character string group in the information regarding the specifications of the part.
    The software development support method according to claim 4, wherein the software development support method is characterized.
  6.  前記委託先が前記組織外に分類された前記部分ごとに、当該部分の実装作業を担当した作業者の過去の実装作業に関する実績情報に基づいて、当該部分の前記実装作業に対するレビュー作業の委託先を前記組織内又は前記組織外に分類するレビュー先分類手順、
    をコンピュータが実行することを特徴とする請求項4又は5記載のソフトウェア開発支援方法。
    For each part where the contractor is classified outside the organization, the contractor of the review work for the mounting work of the part is based on the actual information on the past mounting work of the worker who was in charge of the mounting work of the part. Review destination classification procedure, which classifies
    The software development support method according to claim 4 or 5, wherein the software is executed by a computer.
  7.  請求項1乃至3いずれか一項記載のソフトウェア開発支援装置としてコンピュータを機能させることを特徴とするプログラム。 A program characterized by operating a computer as the software development support device according to any one of claims 1 to 3.
PCT/JP2019/044406 2019-11-12 2019-11-12 Software development support device, software development support method, and program WO2021095136A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/044406 WO2021095136A1 (en) 2019-11-12 2019-11-12 Software development support device, software development support method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/044406 WO2021095136A1 (en) 2019-11-12 2019-11-12 Software development support device, software development support method, and program

Publications (1)

Publication Number Publication Date
WO2021095136A1 true WO2021095136A1 (en) 2021-05-20

Family

ID=75912087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/044406 WO2021095136A1 (en) 2019-11-12 2019-11-12 Software development support device, software development support method, and program

Country Status (1)

Country Link
WO (1) WO2021095136A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131875A (en) * 2001-10-29 2003-05-09 Mitsubishi Electric Corp Software development support server and terminal used and software development support system
JP2008226122A (en) * 2007-03-15 2008-09-25 Hitachi Software Eng Co Ltd Repository server management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131875A (en) * 2001-10-29 2003-05-09 Mitsubishi Electric Corp Software development support server and terminal used and software development support system
JP2008226122A (en) * 2007-03-15 2008-09-25 Hitachi Software Eng Co Ltd Repository server management system

Similar Documents

Publication Publication Date Title
Uddin et al. A survey on bug prioritization
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
US20060259336A1 (en) Methods and systems for managing risks associated with a project
US20100042613A1 (en) Method and system for automated search engine optimization
US20060155562A1 (en) System and method for analyzing and managing business performance
CN110782129B (en) Business progress monitoring method, device and system and computer readable storage medium
US20070083419A1 (en) Assessing information technology components
US11205237B2 (en) Analysis of intellectual-property data in relation to products and services
US8645365B2 (en) System for managing electronic assets of a software service delivery organization
Singh et al. Bug tracking and reliability assessment system (btras)
US7729933B2 (en) Decision support activation and management in product life cycles using a context pyramid structure
EP2199905A1 (en) Lifecycle management and consistency checking of object models using application platform tools
Oliveira et al. Jexpert: A tool for library expert identification
US20120330699A1 (en) Case-based retrieval framework
WO2021095137A1 (en) Software development assistance device, software development assistance method, and program
Blincoe et al. High-level software requirements and iteration changes: a predictive model
Marchezan et al. PAxSPL: A feature retrieval process for software product line reengineering
US20130332369A1 (en) Leveraging analytics to propose context sensitive workflows for case management solutions
CN111311105A (en) Combined product scoring method, device, equipment and readable storage medium
WO2021095136A1 (en) Software development support device, software development support method, and program
Book et al. Value-based migration of legacy data structures
US20140149186A1 (en) Method and system of using artifacts to identify elements of a component business model
Stanev et al. Why the standard methods, 5GL, common platforms and reusable components are the four pillars of the new computational paradigm Programming without programmers
Helming et al. Semi-automatic Assignment of Work Items.
Boussoualim et al. An Approach based on user preferences for selecting SaaS product

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19952796

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP