WO2023119477A1 - プロジェクト評価装置及びプロジェクト評価方法 - Google Patents

プロジェクト評価装置及びプロジェクト評価方法 Download PDF

Info

Publication number
WO2023119477A1
WO2023119477A1 PCT/JP2021/047551 JP2021047551W WO2023119477A1 WO 2023119477 A1 WO2023119477 A1 WO 2023119477A1 JP 2021047551 W JP2021047551 W JP 2021047551W WO 2023119477 A1 WO2023119477 A1 WO 2023119477A1
Authority
WO
WIPO (PCT)
Prior art keywords
project
source code
rate
document
diversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/047551
Other languages
English (en)
French (fr)
Inventor
章広 弓場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2023568874A priority Critical patent/JP7657324B2/ja
Priority to PCT/JP2021/047551 priority patent/WO2023119477A1/ja
Publication of WO2023119477A1 publication Critical patent/WO2023119477A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Definitions

  • This disclosure relates to a project evaluation device and a project evaluation method.
  • Patent Literature 1 proposes a technique for verifying the traceability of deliverables.
  • the present disclosure has been made in view of the problems described above, and aims to provide a technology that can appropriately evaluate a project.
  • a project evaluation apparatus among projects in which documents and source codes corresponding to each other are generated as deliverables, based on the document of the project to be evaluated and the document of the project to be compared, a document analysis unit that calculates a first similarity rate; and a source code analysis unit that calculates a first appropriation rate based on the source code of the project to be evaluated and the source code of the project to be compared. and at least one of the first similarity rate and the first appropriation rate, a second similarity rate regarding the document of the project to be compared, and a second appropriation of the source code of the project to be compared. and an evaluation unit that evaluates the project to be evaluated based on a result of associating with the rate.
  • the project to be evaluated is evaluated based on the result of associating at least one of the first similarity rate and the first diversion rate with the second similarity rate and the second diversion rate. According to such a configuration, it is possible to appropriately evaluate the project.
  • FIG. 1 is a block diagram showing a configuration example of a project evaluation device according to Embodiment 1;
  • FIG. 1 is a block diagram showing a configuration example of a project evaluation device 1 according to the first embodiment.
  • documents and source codes are generated as deliverables
  • the project evaluation device 1 in FIG. 1 is a project evaluation device that evaluates the project.
  • the document is, for example, a source code specification or design document, and the document and the source code correspond to each other.
  • the project evaluation device 1 in FIG. 1 includes a source code analysis device 2, a document analysis device 6, an evaluation section 10, and a notification section 11.
  • the source code analysis device 2 includes a source code registration device 3 , a source code analysis section 4 and a source code database 5 .
  • the source code registration device 3 registers the source code, which is the deliverable of the project, in the source code database 5.
  • the registered source code includes the source code of the project under development, the source code of the source project, and the source code of the destination project.
  • a project under development is a project to be evaluated by the project evaluation device 1.
  • a source project is a past project that is to be compared with a project under development.
  • the diversion destination project is a past project that was obtained by diversion of the original project.
  • the above-described project under development may be a project obtained by diverting the original project, or may be another project.
  • source code of the project under development source code of the source project, and source code of the destination project are abbreviated as source code under development, source source code, and destination source code, respectively.
  • source code under development source source code
  • destination source code destination source code
  • the source code to be diverted and the source code to be diverted are registered in the source code database 5 at the end of each development phase.
  • information indicating the development phase of the source code is added to the registered source code.
  • function information defined by a project or organization is added to the registered source code in units defined by the project or organization (for example, source file units or function units).
  • the source code analysis unit 4 calculates the second diversion rate by analyzing the source code and the destination source code that are in the same development phase. For example, the source code analysis unit 4 extracts the difference between the source code and the destination source code, and divides the difference by the total amount of the source code. Calculate
  • the source code analysis unit 4 may measure and tally the amount of newly created code, the amount of modified code, and the amount of deleted code, and extract the difference. Further, for example, the source code analysis unit 4 may consider the development scale of the source code in calculating the second appropriation rate. Further, for example, when function information is added to the source code, the source code analysis unit 4 may measure and aggregate the amount of newly created code, the amount of corrected code, and the amount of deleted code for each function. According to the above, a more detailed second diversion rate can be calculated. Further, for example, the source code analysis unit 4 may calculate the second diversion rate by using machine learning such as AI (artificial intelligence) for the diversion source source code and the diversion destination source code.
  • AI artificial intelligence
  • FIG. 2 is a diagram showing an example of the transition of the diversion rate, such as the second diversion rate, regarding the development phase.
  • the appropriation rate gradually decreases from the beginning of development, and decreases more significantly in the software production phase than in other phases.
  • software change initiation occurs after system design. It is desirable to start changing the software after the start of software production, but depending on the state of the project or the state of the source code, application to new hardware or porting of functions from other projects may be added before the start of software production. may
  • the source code analysis unit 4 registers the second appropriation rate in the source code database 5. Calculation and registration of the second appropriation rate are performed for each development phase. This enables the evaluation unit 10, which will be described later, to refer to the second diversion rate in each development phase of the past project when evaluating the source code and document of the project under development.
  • FIG. 3 is a flow chart showing an operation example for the past project of the source code analysis device 2 according to the first embodiment.
  • step S1 the source code registration device 3 adds development phase information of the source code to the source code.
  • step S2 the source code registration device 3 adds function information of the source source code to the source source code.
  • step S ⁇ b>3 the source code registration device 3 registers the source code to be used in the source code database 5 . The processing of steps S1 to S3 is performed each time the development phase of the source code is completed.
  • step S4 the source code registration device 3 adds the development phase information of the diversion destination source code to the diversion destination source code.
  • step S5 the source code registration device 3 adds function information of the destination source code to the destination source code.
  • step S ⁇ b>6 the source code registration device 3 registers the destination source code in the source code database 5 .
  • the source code analysis unit 4 calculates a second diversion rate based on the diversion source source code and the diversion destination source code.
  • the source code analysis unit 4 registers the second diversion rate in the source code database 5 in association with the diversion source source code. The processing of steps S4 to S8 is performed each time the development phase of the source code to be diverted ends. After that, the operation of FIG. 3 ends.
  • FIG. 3 may be performed for multiple source source codes and multiple destination source codes. Further, in the case where a plurality of diversion destination source codes exist for a single diversion source source code, statistical processing such as averaging is performed on a plurality of second diversion rates calculated respectively from the plurality of diversion destination source codes. A single second diversion rate may be calculated.
  • the source code analysis unit 4 calculates the second diversion rate based on the diversion source source code and the diversion destination source code. , the first diversion rate is calculated.
  • the source code analysis device 2 consisting of the above components can not only register the source code of past projects, but also register the appropriation rate, which is the analysis result.
  • the document analysis device 6 includes a document registration device 7 , a document analysis section 8 and a document database 9 .
  • the document registration device 7 registers documents, which are deliverables of the project, in the document database 9.
  • Documents to be registered include the documents of the project under development, the documents of the source project, and the documents of the destination project.
  • the documents of the project under development, the document of the source project, and the document of the destination project may be abbreviated as the document under development, the source document, and the destination document, respectively.
  • the source document and destination document are registered in the document database 9 at the end of each development phase.
  • information indicating the development phase of the document is added to the document to be registered.
  • function information defined by a project or organization is added to a document to be registered in units defined by the project or organization (for example, source file units or function units).
  • the document analysis unit 8 calculates a second similarity rate by analyzing documents based on a source document and a destination document that have the same development phase. For example, the document analysis unit 8 calculates the second similarity rate by using machine learning such as AI for the source document and destination document. Note that the document analysis unit 8 may calculate the second similarity rate by performing the same calculation as the second appropriation rate of the source code analysis unit 4 .
  • FIG. 4 is a diagram showing an example of the transition of similarity rates such as the second similarity rate with respect to the development phase.
  • the similarity rate drops significantly in the early stages of development because many changes are made in the design stage at the beginning of development, and the degree of the drop becomes smaller in the software production phase.
  • the document analysis unit 8 registers the second similarity rate in the document database 9. Calculation and registration of the second similarity rate are performed for each development phase. This enables the evaluation unit 10, which will be described later, to refer to the second similarity rate in each development phase of the past project when evaluating the document under development and the document.
  • FIG. 5 is a flow chart showing an operation example for the past project of the document analysis device 6 according to the first embodiment.
  • the document registration device 7 adds development phase information of the source document to the source document.
  • the document registration device 7 adds function information of the original document to the original document.
  • the document registration device 7 registers the original document in the document database 9 . The processing of steps S11 to S13 is performed each time the development phase of the source document is completed.
  • the document registration device 7 adds the development phase information of the diversion destination document to the diversion destination document.
  • the document registration device 7 adds functional information of the destination document to the destination document.
  • the document registration device 7 registers the diversion destination document in the document database 9 .
  • the document analysis unit 8 calculates a second similarity rate based on the source document and the destination document.
  • the document analysis unit 8 registers the second similarity rate in the document database 9 in association with the source document. The processing of steps S14 to S18 is performed each time the development phase of the diversion destination document ends. After that, the operation of FIG. 5 ends.
  • FIG. 5 may be performed for multiple source documents and multiple destination documents. Further, when a plurality of destination documents exist for a single source document, statistical processing such as averaging is performed on a plurality of second similarity rates calculated from the plurality of destination documents to obtain a single second similarity rate. 2 similarity rate may be calculated.
  • the document analysis unit 8 calculates the second similarity rate based on the document under development and the source document in the same manner as the calculation of the second similarity rate based on the source document and the destination document. 1 Calculate the similarity rate.
  • the document analysis device 6 consisting of the above components can not only register documents of past projects, but also register the similarity rate, which is the analysis result.
  • Information on past projects is stored in the database and analyzed by the source code analysis device 2 and the document analysis device 6 described above. As a result, data for evaluation such as differences in development phases or development processes for each organization and differences in degrees of change in appropriation rate and similarity rate for each development phase are constructed.
  • the evaluation unit 10 evaluates the project under development based on the result of associating the first similarity rate or the first diversion rate, the second similarity rate regarding the diversion source document, and the second diversion rate regarding the diversion source source code. . An example of evaluation by the evaluation unit 10 will be described later.
  • the notification unit 11 notifies the evaluation result of the evaluation unit 10 .
  • An example of notification by the notification unit 11 will be described later.
  • ⁇ Operation of the project evaluation device> 6 and 7 are flowcharts showing an example of the operation of the project evaluation apparatus 1 according to the first embodiment for a project under development.
  • source codes and documents of a plurality of diversion source projects are registered in the project evaluation device 1 . 6 and 7 are performed, for example, at the end of each development phase of the project under development.
  • the source code registration device 3 adds the development phase information of the source code under development to the source code under development.
  • the source code registration device 3 adds the function information of the source code under development to the source code under development.
  • the source code registration device 3 registers the source code under development in the source code database 5 .
  • the project evaluation device 1 selects a source project to be compared with the project under development from a plurality of source projects.
  • the project evaluation device 1 determines whether or not there is a source project that has been diverted to generate a project under development among the plurality of source projects. If it is determined that there is a source project that has been diverted to generate the project under development, the process proceeds to step S25, and if it is determined that such a source project does not exist, the process proceeds to step S26. .
  • step S25 the project evaluation device 1 selects the diversion source project diverted to generate the project under development as the project to be used for evaluation of the project under development. After that, the process proceeds to step S29.
  • the project evaluation device 1 calculates the development scale and the number of development functions of the source code of the project under development.
  • the scale of development referred to here is, for example, the total amount of source code, and the number of functions to be developed is, for example, the amount of code for each function.
  • the project evaluation device 1 determines whether or not there is a source project similar to the project under development in terms of source code development scale and number of functions to be developed, among the plurality of source projects. For example, in the project evaluation apparatus 1, the difference between the development scale and the number of development functions of the source code of the project under development and the scale of development of the source code and the number of development functions of the source project is within a predetermined range. In this case, the appropriation source project is determined to be similar to the project under development. If it is determined that there is a diversion source project similar to the project under development, the process proceeds to step S27, and if it is determined that no such diversion source project exists, the process proceeds to step S28.
  • step S27 the project evaluation device 1 selects a diversion source project similar to the project under development as a project to be used for evaluation of the project under development. After that, the process proceeds to step S29.
  • step S28 the project evaluation device 1 selects, from among the multiple source projects, the source project whose source code development scale is closest to the project under development as the project to be used for evaluation of the project under development. After that, the process proceeds to step S29.
  • the source project selected by the processing of steps S24 to S28 may be abbreviated as the selected project.
  • the source code analysis unit 4 calculates a first diversion rate based on the source code of the project under development and the source code of the selected project.
  • the source code analysis unit 4 registers the first diversion rate in the source code database 5 in association with the source code under development.
  • step S30 in step S31 of FIG. 7, the document registration device 7 adds the development phase information of the document under development to the document under development.
  • step S32 the document registration device 7 adds the function information of the document under development to the document under development.
  • step S ⁇ b>33 the document registration device 7 registers the document under development in the document database 9 .
  • the document analysis unit 8 calculates a first similarity rate based on the documents of the project under development and the documents of the selected project.
  • the document analysis unit 8 registers the first similarity rate in the document database 9 in association with the document under development.
  • the evaluation unit 10 evaluates the project under development based on the result of associating the first similarity rate or the first diversion rate, the second similarity rate, and the second diversion rate.
  • the second similarity rate and the second diversion rate used in this evaluation are the second similarity rate and the second diversion rate calculated for the selected project.
  • the evaluation unit 10 compares the document similarity rate (that is, the first similarity rate and the second similarity rate) between the project under development and the selected project.
  • the reason for comparing document similarity rates before comparing source code adoption rates is that document changes generally precede source code changes.
  • the evaluation unit 10 identifies the second similarity rate corresponding to the development phase of the project under development from the transition of the second similarity rates of the multiple development phases of the selected project.
  • the development phase of the project under development is phase A, and Xa is specified as the second similarity rate.
  • the evaluation unit 10 corrects the second similarity rate Xa using the following equation (1). .
  • the evaluation unit 10 corrects the second similarity rate Xa using the following equation (1). Note that if the source project is a project that has been diverted to generate a project under development, that is, if step S25 has been performed, the evaluation unit 10 does not need to correct the second similarity rate Xa using the following equation (1). .
  • the evaluation unit 10 calculates the application ratio Rp in the development phase using the following formula (2).
  • the application ratio Rp represents a comparison between the first similarity rate Xp of the project under development and the appropriately corrected second similarity rate Xa.
  • the evaluation unit 10 identifies the second diversion rate corresponding to the development phase of the project under development from the transition of the second diversion rate of the multiple development phases of the selected project.
  • the development phase of the project under development is phase A, and Ya is specified as the second diversion rate.
  • the evaluation unit 10 applies the second diversion rate Ya and the application rate Rp to the following equation (3) to calculate the diversion rate expected value Z1p.
  • the evaluation unit 10 determines whether or not the expected value Z1p is within a range that is larger than the project lower limit value predetermined for the project under development and smaller than the project upper limit value predetermined for the project under development. judge. For example, when the expected value Z1p is within the range, the evaluation unit 10 determines that the source code of the project under development is normal. For example, when the expected value Z1p is smaller than the lower limit of the range, the evaluation unit 10 determines that the source code of the project under development is excessive. For example, when the expected value Z1p is larger than the upper limit of the range, the evaluation unit 10 determines that the source code of the project under development is insufficient.
  • the evaluation unit 10 uses the expected value Z1p associated with the first similarity rate Xp, the second similarity rate Xa, and the second appropriation rate Ya, all of which are in the same development phase, to determine the source of the project under development. Determining whether the code is too short or too short.
  • the evaluation unit 10 uses the expected value Z2p that associates the first appropriation rate Yp, the second similarity rate Xa, and the second appropriation rate Ya, all of which are in the same development phase, to determine the excess of the document in the project under development. Determine shortages.
  • the expected value Z2p is obtained by replacing the first similarity rate Xp, the second similarity rate Xa, and the second diversion rate Ya in the calculation of the expected value Z1p with the first diversion rate Yp, the second diversion rate Ya, and the second diversion rate Ya. It may be calculated by replacing with the similarity rate Xa.
  • the evaluation unit 10 determines that the document of the project under development is normal. For example, if the expected value Z2p is smaller than the lower limit of the range, the evaluation unit 10 determines that the documents in the project under development are excessive. For example, if the expected value Z2p is greater than the upper limit of the range, the evaluation unit 10 determines that the documents for the project under development are insufficient.
  • the evaluation unit 10 can determine whether there is an excess or deficiency in the source code or the document of the project under development, so it is possible to evaluate the project under development. Note that the evaluation unit 10 may evaluate which of the source code and the document of the project under development has differences in the changed and corrected portions.
  • the project evaluation device 1 determines whether or not to perform notification by the notification unit 11 based on the evaluation result of the evaluation unit 10. For example, when the evaluation result of the evaluation unit 10 indicates that either the source code or the document of the project under development has an excess or deficiency, or indicates that there is a difference in the changed and corrected parts, the reporting unit 11 is determined to be notified. If it is determined that notification by the notification unit 11 is to be performed, the process proceeds to step S38, and if it is not determined that the notification by the notification unit 11 is to be performed, the operation of FIG. 7 ends.
  • step S38 the notification unit 11 notifies the manager of the project evaluation device 1 of the evaluation result of the evaluation unit 10. For example, if there is an excess or deficiency in either the source code or the document of the project under development, or if there is a difference in changes and corrections, the notification unit 11 notifies that fact. After that, the operation of FIG. 7 ends.
  • the document analysis unit 8 calculates the second similarity rate based on the source document and destination document. According to such a configuration, it is possible to optimize the second similarity rate by appropriately updating it.
  • the source code analysis unit 4 calculates the second diversion rate based on the diversion source source code and the diversion destination source code. According to such a configuration, it is possible to optimize the second diversion rate by appropriately updating it.
  • the notification unit 11 notifies the evaluation result of the evaluation unit 10, so that the administrator can find errors in the documents and source code of the project under development.
  • the development phases of the first similarity rate, the second similarity rate, and the second diversion rate used by the evaluation unit 10 are all the same, and the first diversion rate used by the evaluation unit 10 , the second similarity rate, and the second diversion rate are all in the same development phase. According to such a configuration, for example, it is possible to improve the accuracy of mutual excess/deficiency evaluation of the document and the source code.
  • the evaluation unit 10 calculates Z1p that is the result of associating the first similarity rate Xp, the second similarity rate Xa, and the second diversion rate Ya, the first diversion rate Yp, the second similarity rate Xa, And Z2p, which is the result of associating the second diversion rate Ya, the project under development was evaluated.
  • the evaluation unit 10 evaluates the project under development based on Z3p, which is the result of associating the first similarity rate Xp, the first diversion rate Yp, the second similarity rate Xa, and the second diversion rate Ya. good too.
  • Z3p a value such as Xp ⁇ Yp ⁇ (Xa ⁇ Ya) may be used, or the difference between the first diversion rate Yp and the expected value Z1p may be used.
  • the second similarity rate was calculated by the document analysis unit 8 and the second appropriation rate was calculated by the source code analysis unit 4, but the present invention is not limited to this.
  • at least one of the second similarity rate and the second appropriation rate may be preset and stored in the project evaluation device 1 .
  • the source code analysis unit 4, document analysis unit 8, and evaluation unit 10 shown in FIG. 1 described above are hereinafter referred to as "source code analysis unit 4, etc.”.
  • the source code analysis unit 4 and the like are realized by a processing circuit 81 shown in FIG. That is, the processing circuit 81 calculates the first similarity rate based on the document of the project to be evaluated and the document of the project to be compared, among the projects in which mutually corresponding documents and source codes are generated as deliverables.
  • a source code analysis unit 4 for calculating a first appropriation rate based on the source code of the project to be evaluated and the source code of the project to be compared, the first similarity rate and the first appropriation Evaluation for evaluating the project to be evaluated based on the result of associating at least one of the rates with a second similarity rate for the documents of the project to be compared and a second appropriation rate for the source code of the project to be compared a part 10;
  • Dedicated hardware may be applied to the processing circuit 81, or a processor that executes a program stored in a memory may be applied.
  • Processors include, for example, central processing units, processing units, arithmetic units, microprocessors, microcomputers, and DSPs (Digital Signal Processors).
  • the processing circuit 81 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these.
  • Each function of each unit such as the source code analysis unit 4 may be realized by a circuit in which processing circuits are distributed, or the functions of each unit may be collectively realized by one processing circuit.
  • the processing circuit 81 When the processing circuit 81 is a processor, the functions of the source code analysis unit 4 and the like are realized by combining with software and the like.
  • Software and the like correspond to, for example, software, firmware, or software and firmware.
  • Software or the like is written as a program and stored in memory.
  • a processor 82 applied to a processing circuit 81 reads out and executes a program stored in a memory 83 to realize the function of each section. That is, when the project evaluation apparatus 1 is executed by the processing circuit 81, the document of the project to be evaluated and the document of the project to be compared, among the projects in which mutually corresponding documents and source codes are generated as deliverables.
  • this program can be said to cause a computer to execute the procedures and methods of the source code analysis unit 4 and the like.
  • the memory 83 is, for example, a non-volatile or Volatile semiconductor memory, HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc), their drive devices, or any storage media that will be used in the future.
  • HDD Hard Disk Drive
  • magnetic disk flexible disk
  • optical disk compact disk
  • mini disk mini disk
  • DVD Digital Versatile Disc
  • their drive devices or any storage media that will be used in the future.
  • each function such as the source code analysis unit 4 is realized by either hardware or software
  • the configuration is not limited to this, and a configuration in which part of the source code analysis unit 4 and the like is realized by dedicated hardware and another part is realized by software or the like may be used.
  • the function of the source code analysis unit 4 is realized by a processing circuit 81 as dedicated hardware and an interface. It is possible to realize the function by executing it.
  • the processing circuit 81 can implement each of the functions described above by means of hardware, software, etc., or a combination thereof.
  • the project evaluation device described above is installed in at least one of a program creation device such as a personal computer, a communication terminal including a mobile terminal such as a mobile phone, a smart phone, and a tablet, and a program creation device and a communication terminal. It can also be applied to a project evaluation system constructed as a system by appropriately combining application functions and a server. In this case, each function or each component of the project evaluation apparatus described above may be distributed to each device that constructs the system, or may be centrally disposed in one of the devices. .
  • Project evaluation device 4. source code analysis unit, 8. document analysis unit, 10. evaluation unit, 11. notification unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

プロジェクトについて適切な評価を行うことが可能な技術を提供することを目的とする。プロジェクト評価装置は、ドキュメント同士に基づいて第1類似率を算出するドキュメント分析部と、ソースコード同士に基づいて第1流用率を算出するソースコード分析部と、評価部とを備える。評価部は、第1類似率及び第1流用率の少なくともいずれか1つと、第2類似率と、第2流用率とを関連付けた結果に基づいて、評価対象のプロジェクトを評価する。

Description

プロジェクト評価装置及びプロジェクト評価方法
 本開示は、プロジェクト評価装置及びプロジェクト評価方法に関する。
 ソフトウェア開発のプロジェクトでは、当該プロジェクトの成果物として、ドキュメント及びソースコードなどが生成される。例えば、特許文献1には、成果物のトレーサビリティを検証する技術が提案されている。
特開2019-95961号公報
 従来技術では、ドキュメント間の評価、または、ソースコード間の評価のような、同一種類の成果物間の評価からトレーサビリティを検証する。しかしながら、異なる種類の成果物を関連付けた評価を行わないため、例えばドキュメント及びソースコードの相互の過不足の評価を行うことなど、プロジェクトについて適切な評価を行うことができないという問題があった。
 そこで、本開示は、上記のような問題点に鑑みてなされたものであり、プロジェクトについて適切な評価を行うことが可能な技術を提供することを目的とする。
 本開示に係るプロジェクト評価装置は、互いに対応するドキュメント及びソースコードが成果物として生成されるプロジェクトのうち、評価対象の前記プロジェクトの前記ドキュメントと、比較対象の前記プロジェクトの前記ドキュメントとに基づいて、第1類似率を算出するドキュメント分析部と、前記評価対象の前記プロジェクトの前記ソースコードと、前記比較対象の前記プロジェクトの前記ソースコードとに基づいて、第1流用率を算出するソースコード分析部と、前記第1類似率及び前記第1流用率の少なくともいずれか1つと、前記比較対象の前記プロジェクトの前記ドキュメントに関する第2類似率と、前記比較対象の前記プロジェクトの前記ソースコードに関する第2流用率とを関連付けた結果に基づいて、前記評価対象の前記プロジェクトを評価する評価部とを備える。
 本開示によれば、第1類似率及び第1流用率の少なくともいずれか1つと、第2類似率と、第2流用率とを関連付けた結果に基づいて、評価対象のプロジェクトを評価する。このような構成によれば、プロジェクトについて適切な評価を行うことができる。
 本開示の目的、特徴、局面及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態1に係るプロジェクト評価装置の構成例を示すブロック図である。 流用率の開発フェーズに関する推移の一例を示す図である。 実施の形態1に係るソースコード分析装置の動作例を示すフローチャートである。 類似率の開発フェーズに関する推移の一例を示す図である。 実施の形態1に係るドキュメント分析装置の動作例を示すフローチャートである。 実施の形態1に係るプロジェクト評価装置の動作例を示すフローチャートである。 実施の形態1に係るプロジェクト評価装置の動作例を示すフローチャートである。 実施の形態1に係るプロジェクト評価装置の動作例を説明するための図である。 実施の形態1に係るプロジェクト評価装置の動作例を説明するための図である。 その他の変形例に係るプロジェクト評価装置のハードウェア構成を示すブロック図である。 その他の変形例に係るプロジェクト評価装置のハードウェア構成を示すブロック図である。
 <実施の形態1>
 図1は、本実施の形態1に係るプロジェクト評価装置1の構成例を示すブロック図である。ソフトウェア開発のプロジェクトでは、ドキュメント及びソースコードが成果物として生成され、図1のプロジェクト評価装置1は、当該プロジェクトを評価するプロジェクト評価装置である。ドキュメントは、例えばソースコードの仕様書または設計書などであり、ドキュメント及びソースコードは互いに対応する。
 図1のプロジェクト評価装置1は、ソースコード分析装置2と、ドキュメント分析装置6と、評価部10と、報知部11とを備える。
 <ソースコード分析装置>
 ソースコード分析装置2は、ソースコード登録装置3と、ソースコード分析部4と、ソースコードデータベース5とを含む。
 ソースコード登録装置3は、プロジェクトの成果物であるソースコードをソースコードデータベース5に登録する。登録されるソースコードは、開発中プロジェクトのソースコードと、流用元プロジェクトのソースコードと、流用先プロジェクトのソースコードとを含む。
 開発中プロジェクトは、プロジェクト評価装置1によって評価される評価対象のプロジェクトである。
 流用元プロジェクトは、過去プロジェクトであり、開発中プロジェクトと比較される比較対象のプロジェクトである。
 流用先プロジェクトは、過去プロジェクトであり、流用元プロジェクトを流用して得られたプロジェクトである。一方、上述した開発中プロジェクトは、流用元プロジェクトを流用して得られたプロジェクトであってもよいし、それ以外のプロジェクトであってもよい。
 なお以下の説明では、開発中プロジェクトのソースコード、流用元プロジェクトのソースコード、及び、流用先プロジェクトのソースコードを、それぞれ開発中ソースコード、流用元ソースコード、及び、流用先ソースコードと略記することもある。
 流用元ソースコード、及び、流用先ソースコードは、各開発フェーズの終了ごとにソースコードデータベース5に登録される。本実施の形態1では、登録されるソースコードには、ソースコードの開発フェーズを示す情報が付加される。また本実施の形態1では、登録されるソースコードには、プロジェクトまたは組織で定義した機能情報が、プロジェクトまたは組織で定義された単位(例えばソースファイル単位または関数単位)で付加される。登録されるソースコードに以上のような情報を付加することで、以下で説明するように、ソースコード分析部4はソースコードの分析を詳細に行うことが可能となる。
 ソースコード分析部4は、互いに開発フェーズが同じ流用元ソースコードと流用先ソースコードとに基づいて、ソースコード同士を分析することによって第2流用率を算出する。例えば、ソースコード分析部4は、流用元ソースコードと、流用先ソースコードとの差分を抽出し、当該差分をソースコードの全体量で除算して得られる値が小さいほど大きくなる第2流用率を算出する。
 なお例えば、ソースコード分析部4は、新規作成コード量と、修正コード量と、削除コード量とを個別に測定及び集計して、上記差分の抽出を行ってもよい。また例えば、ソースコード分析部4は、第2流用率の算出に、ソースコードの開発規模を考慮してもよい。また例えば、ソースコードに機能情報が付加されている場合には、ソースコード分析部4は、新規作成コード量と、修正コード量と、削除コード量とを機能別に測定及び集計してもよい。以上によれば、より詳細な第2流用率を算出することができる。また例えば、ソースコード分析部4は、流用元ソースコードと、流用先ソースコードとに、AI(artificial intelligence)などの機械学習を用いることによって、第2流用率を算出してもよい。
 図2は、第2流用率などの流用率の、開発フェーズに関する推移の一例を示す図である。一般的に、流用率は、開発初期から徐々に低下して、ソフトウェア製作フェーズにおいて他のフェーズよりも大きく低下する。一般的に、ソフトウェアの変更開始は、システム設計以降に発生する。ソフトウェアの変更開始は、ソフトウェア製作開始以降であることが望ましいが、プロジェクトの状態またはソースコードの状態によって、新規ハードウェアへの適用や他プロジェクトからの機能移植などが、ソフトウェア製作開始前に加えられてもよい。
 ソースコード分析部4は、第2流用率をソースコードデータベース5に登録する。第2流用率の算出及び登録は開発フェーズごとに行われる。これにより、後述する評価部10が、開発中プロジェクトのソースコード及びドキュメントを評価する際に、過去プロジェクトの各開発フェーズにおける第2流用率を参照することが可能となる。
 図3は、本実施の形態1に係るソースコード分析装置2の過去プロジェクトに対する動作例を示すフローチャートである。
 ステップS1にて、ソースコード登録装置3は、流用元ソースコードに、流用元ソースコードの開発フェーズ情報を付加する。ステップS2にて、ソースコード登録装置3は、流用元ソースコードに、流用元ソースコードの機能情報を付加する。ステップS3にて、ソースコード登録装置3は、流用元ソースコードをソースコードデータベース5に登録する。ステップS1~ステップS3の処理は、流用元ソースコードの各開発フェーズの終了ごとに行われる。
 ステップS4にて、ソースコード登録装置3は、流用先ソースコードに、流用先ソースコードの開発フェーズ情報を付加する。ステップS5にて、ソースコード登録装置3は、流用先ソースコードに、流用先ソースコードの機能情報を付加する。ステップS6にて、ソースコード登録装置3は、流用先ソースコードをソースコードデータベース5に登録する。
 ステップS7にて、ソースコード分析部4は、流用元ソースコードと、流用先ソースコードとに基づいて、第2流用率を算出する。ステップS8にて、ソースコード分析部4は、第2流用率を流用元ソースコードと対応付けてソースコードデータベース5に登録する。ステップS4~ステップS8の処理は、流用先ソースコードの各開発フェーズの終了ごとに行われる。その後、図3の動作が終了する。
 なお、複数の流用元ソースコード及び複数の流用先ソースコードについて図3の動作が行われてもよい。また、1つの流用元ソースコードについて複数の流用先ソースコードが存在する場合には、複数の流用先ソースコードからそれぞれ算出される複数の第2流用率に平均などの統計処理を行うことによって、1つの第2流用率が算出されてもよい。
 なお後述するが、ソースコード分析部4は、流用元ソースコードと、流用先ソースコードとに基づいて、第2流用率を算出したのと同様に、開発中ソースコードと、流用元ソースコードとに基づいて、第1流用率を算出する。
 以上の構成要素からなるソースコード分析装置2は、過去プロジェクトのソースコードの登録だけでなく、その分析結果である流用率を登録することが可能となっている。
 <ドキュメント分析装置>
 ドキュメント分析装置6は、ドキュメント登録装置7と、ドキュメント分析部8と、ドキュメントデータベース9とを含む。
 ドキュメント登録装置7は、プロジェクトの成果物であるドキュメントをドキュメントデータベース9に登録する。登録されるドキュメントは、開発中プロジェクトのドキュメントと、流用元プロジェクトのドキュメントと、流用先プロジェクトのドキュメントとを含む。
 なお以下の説明では、開発中プロジェクトのドキュメント、流用元プロジェクトのドキュメント、及び、流用先プロジェクトのドキュメントを、それぞれ開発中ドキュメント、流用元ドキュメント、及び、流用先ドキュメントと略記することもある。
 流用元ドキュメント、及び、流用先ドキュメントは、各開発フェーズの終了ごとにドキュメントデータベース9に登録される。本実施の形態1では、登録されるドキュメントには、ドキュメントの開発フェーズを示す情報が付加される。また本実施の形態1では、登録されるドキュメントには、プロジェクトまたは組織で定義した機能情報が、プロジェクトまたは組織で定義された単位(例えばソースファイル単位または関数単位)で付加される。登録されるドキュメントに以上のような情報を付加することで、以下で説明するように、ドキュメント分析部8はドキュメントの分析を詳細に行うことが可能となる。
 ドキュメント分析部8は、互いに開発フェーズが同じ流用元ドキュメントと流用先ドキュメントとに基づいて、ドキュメント同士を分析することによって第2類似率を算出する。例えば、ドキュメント分析部8は、流用元ドキュメントと、流用先ドキュメントとに、AIなどの機械学習を用いることによって、第2類似率を算出する。なお、ドキュメント分析部8は、ソースコード分析部4の第2流用率と同様の算出を行って第2類似率を算出してもよい。
 図4は、第2類似率などの類似率の、開発フェーズに関する推移の一例を示す図である。一般的に、類似率は、開発初期の設計段階で多くの変更が入るため、開発初期に大きな低下があり、ソフトウェア製作フェーズになると当該低下の程度が小さくなる。
 ドキュメント分析部8は、第2類似率をドキュメントデータベース9に登録する。第2類似率の算出及び登録は開発フェーズごとに行われる。これにより、後述する評価部10が、開発中プロジェクトのドキュメント及びドキュメントを評価する際に、過去プロジェクトの各開発フェーズにおける第2類似率を参照することが可能となる。
 図5は、本実施の形態1に係るドキュメント分析装置6の過去プロジェクトに対する動作例を示すフローチャートである。
 ステップS11にて、ドキュメント登録装置7は、流用元ドキュメントに、流用元ドキュメントの開発フェーズ情報を付加する。ステップS12にて、ドキュメント登録装置7は、流用元ドキュメントに、流用元ドキュメントの機能情報を付加する。ステップS13にて、ドキュメント登録装置7は、流用元ドキュメントをドキュメントデータベース9に登録する。ステップS11~ステップS13の処理は、流用元ドキュメントの各開発フェーズの終了ごとに行われる。
 ステップS14にて、ドキュメント登録装置7は、流用先ドキュメントに、流用先ドキュメントの開発フェーズ情報を付加する。ステップS15にて、ドキュメント登録装置7は、流用先ドキュメントに、流用先ドキュメントの機能情報を付加する。ステップS16にて、ドキュメント登録装置7は、流用先ドキュメントをドキュメントデータベース9に登録する。
 ステップS17にて、ドキュメント分析部8は、流用元ドキュメントと、流用先ドキュメントとに基づいて、第2類似率を算出する。ステップS18にて、ドキュメント分析部8は、第2類似率を流用元ドキュメントと対応付けてドキュメントデータベース9に登録する。ステップS14~ステップS18の処理は、流用先ドキュメントの各開発フェーズの終了ごとに行われる。その後、図5の動作が終了する。
 なお、複数の流用元ドキュメント及び複数の流用先ドキュメントについて図5の動作が行われてもよい。また、1つの流用元ドキュメントについて複数の流用先ドキュメントが存在する場合には、複数の流用先ドキュメントからそれぞれ算出される複数の第2類似率に平均などの統計処理を行うことによって、1つの第2類似率が算出されてもよい。
 なお後述するが、ドキュメント分析部8は、流用元ドキュメントと、流用先ドキュメントとに基づいて、第2類似率を算出したのと同様に、開発中ドキュメントと、流用元ドキュメントとに基づいて、第1類似率を算出する。
 以上の構成要素からなるドキュメント分析装置6は、過去プロジェクトのドキュメントの登録だけでなく、その分析結果である類似率を登録することが可能となっている。
 以上で説明したソースコード分析装置2及びドキュメント分析装置6によって、過去プロジェクトの情報がデータベースに保存され、分析される。これにより、組織ごとの開発フェーズの差異または開発プロセスの差異、並びに、開発フェーズごとの流用率及び類似率の変化の度合いの差分のような、評価用のデータが構築される。
 <評価部>
 評価部10は、第1類似率または第1流用率と、流用元ドキュメントに関する第2類似率と、流用元ソースコードに関する第2流用率とを関連付けた結果に基づいて、開発中プロジェクトを評価する。評価部10による評価の例については後述する。
 <報知部>
 報知部11は、評価部10の評価結果を報知する。報知部11による報知の例については後述する。
 <プロジェクト評価装置の動作>
 図6及び図7は、本実施の形態1に係るプロジェクト評価装置1の開発中プロジェクトに対する動作例を示すフローチャートである。以下の説明では、複数の流用元プロジェクトのソースコード及びドキュメントがプロジェクト評価装置1に登録されているものとして説明する。なお、図6及び図7の動作は、例えば開発中プロジェクトの各開発フェーズの終了ごとに行われる。
 ステップS21にて、ソースコード登録装置3は、開発中ソースコードに、開発中ソースコードの開発フェーズ情報を付加する。ステップS22にて、ソースコード登録装置3は、開発中ソースコードに、開発中ソースコードの機能情報を付加する。ステップS23にて、ソースコード登録装置3は、開発中ソースコードをソースコードデータベース5に登録する。
 ステップS24~S28にて、プロジェクト評価装置1は、複数の流用元プロジェクトから、開発中プロジェクトと比較される流用元プロジェクトを選定する。まずステップS24にて、プロジェクト評価装置1は、複数の流用元プロジェクトのうち、開発中プロジェクトの生成に流用された流用元プロジェクトが存在するか否かを判定する。開発中プロジェクトの生成に流用された流用元プロジェクトが存在すると判定された場合には処理がステップS25に進み、そのような流用元プロジェクトが存在すると判定されなかった場合には処理がステップS26に進む。
 ステップS25にて、プロジェクト評価装置1は、開発中プロジェクトの生成に流用された流用元プロジェクトを、開発中プロジェクトの評価に用いられるプロジェクトとして選定する。その後、処理がステップS29に進む。
 ステップS26にて、プロジェクト評価装置1は、開発中プロジェクトのソースコードの開発規模及び開発機能数を算出する。ここでいう開発規模は例えばソースコードの総量であり、開発機能数は例えば機能別のコード量である。
 そして、プロジェクト評価装置1は、複数の流用元プロジェクトのうち、ソースコードの開発規模及び開発機能数に関して開発中プロジェクトと類似する流用元プロジェクトが存在するか否かを判定する。例えば、プロジェクト評価装置1は、開発中プロジェクトのソースコードの開発規模及び開発機能数と、流用元プロジェクトのソースコードの開発規模及び開発機能数とのそれぞれの差が予め定められた範囲内である場合に、当該流用元プロジェクトは開発中プロジェクトと類似すると判定する。開発中プロジェクトと類似する流用元プロジェクトが存在すると判定された場合には処理がステップS27に進み、そのような流用元プロジェクトが存在すると判定されなかった場合には処理がステップS28に進む。
 ステップS27にて、プロジェクト評価装置1は、開発中プロジェクトと類似する流用元プロジェクトを、開発中プロジェクトの評価に用いられるプロジェクトとして選定する。その後、処理がステップS29に進む。
 ステップS28にて、プロジェクト評価装置1は、複数の流用元プロジェクトのうち、ソースコードの開発規模が開発中プロジェクトに最も近い流用元プロジェクトを、開発中プロジェクトの評価に用いられるプロジェクトとして選定する。その後、処理がステップS29に進む。
 以下の説明では、ステップS24~S28の処理によって選定された流用元プロジェクトを、選定プロジェクトと略記することもある。
 ステップS29にて、ソースコード分析部4は、開発中プロジェクトのソースコードと、選定プロジェクトのソースコードとに基づいて、第1流用率を算出する。
 ステップS30にて、ソースコード分析部4は、第1流用率を開発中ソースコードと対応付けてソースコードデータベース5に登録する。
 ステップS30の後、図7のステップS31にて、ドキュメント登録装置7は、開発中ドキュメントに、開発中ドキュメントの開発フェーズ情報を付加する。ステップS32にて、ドキュメント登録装置7は、開発中ドキュメントに、開発中ドキュメントの機能情報を付加する。ステップS33にて、ドキュメント登録装置7は、開発中ドキュメントをドキュメントデータベース9に登録する。
 ステップS34にて、ドキュメント分析部8は、開発中プロジェクトのドキュメントと、選定プロジェクトのドキュメントとに基づいて、第1類似率を算出する。
 ステップS35にて、ドキュメント分析部8は、第1類似率を開発中ドキュメントと対応付けてドキュメントデータベース9に登録する。
 ステップS36にて、評価部10は、第1類似率または第1流用率と、第2類似率と、第2流用率とを関連付けた結果に基づいて、開発中プロジェクトを評価する。なお、この評価の際に用いられる第2類似率及び第2流用率は、選定プロジェクトについて算出された第2類似率及び第2流用率である。以下、評価部10による評価例について説明する。
 まず評価部10は、ドキュメントの類似率(つまり第1類似率及び第2類似率)について開発中プロジェクトと選定プロジェクトとを比較する。ソースコードの流用率を比較する前に、ドキュメントの類似率を比較する理由は、一般的に、ドキュメントの変更はソースコードの変更に対して先行するからである。
 比較を行うために、評価部10は、選定プロジェクトの複数の開発フェーズの第2類似率の推移から、開発中プロジェクトの開発フェーズに対応する第2類似率を特定する。図8の例では、開発中プロジェクトの開発フェーズはフェーズAであり、第2類似率としてXaが特定される。
 選定プロジェクトが、開発中プロジェクトの生成に流用された流用元プロジェクトでない場合、つまりステップS27またはステップS28が行われた場合、評価部10は、第2類似率Xaを次式(1)で補正する。また、開発中プロジェクトの開発規模と選定プロジェクトの開発規模とが異なる場合も同様に、評価部10は、第2類似率Xaを次式(1)で補正する。なお、開発中プロジェクトの生成に流用された流用元プロジェクトである場合、つまりステップS25が行われた場合、評価部10は、第2類似率Xaを次式(1)で補正しなくてもよい。
  Xa×(流用元プロジェクトの開発規模÷開発中プロジェクトの開発規模) ・・・(1)
 次に、評価部10は、開発フェーズにおける適用比率Rpを、次式(2)で用いて算出する。なお次式(2)のように、適用比率Rpは、開発中プロジェクトの第1類似率Xpと、適宜補正された第2類似率Xaとの比較を表す。
  Rp=Xp÷Xa ・・・(2)
 評価部10は、選定プロジェクトの複数の開発フェーズの第2流用率の推移から、開発中プロジェクトの開発フェーズに対応する第2流用率を特定する。図9の例では、開発中プロジェクトの開発フェーズはフェーズAであり、第2流用率としてYaが特定される。
 評価部10は、第2流用率Yaと適用比率Rpとを次式(3)に適用して、流用率の期待値Z1pを算出する。
  Z1p=Ya×Rp ・・・(3)
 評価部10は、期待値Z1pが、開発中プロジェクトに予め定められていたプロジェクト下限値よりも大きく、かつ、開発中プロジェクトに予め定められていたプロジェクト上限値よりも小さい範囲内にあるか否かを判定する。例えば、期待値Z1pが当該範囲内にある場合には、評価部10は、開発中プロジェクトのソースコードは正常であると判定する。例えば、期待値Z1pが当該範囲の下限値よりも小さい場合には、評価部10は、開発中プロジェクトのソースコードは過剰であると判定する。例えば、期待値Z1pが当該範囲の上限値よりも大きい場合には、評価部10は、開発中プロジェクトのソースコードは不足していると判定する。
 以上のように、評価部10は、いずれも開発フェーズが同じ第1類似率Xp、第2類似率Xa、及び、第2流用率Yaを関連付けた期待値Z1pを用いて、開発中プロジェクトのソースコードの過不足を判定する。
 次に、評価部10は、いずれも開発フェーズが同じ第1流用率Yp、第2類似率Xa、及び、第2流用率Yaを関連付けた期待値Z2pを用いて、開発中プロジェクトのドキュメントの過不足を判定する。例えば、期待値Z2pは、期待値Z1pの算出における第1類似率Xp、第2類似率Xa、及び、第2流用率Yaを、第1流用率Yp、第2流用率Ya、及び、第2類似率Xaに置き換えて算出されてもよい。そして、例えば、期待値Z2pが開発中プロジェクトに予め定められていた範囲内にある場合には、評価部10は、開発中プロジェクトのドキュメントは正常であると判定する。例えば、期待値Z2pが当該範囲の下限値よりも小さい場合には、評価部10は、開発中プロジェクトのドキュメントは過剰であると判定する。例えば、期待値Z2pが当該範囲の上限値よりも大きい場合には、評価部10は、開発中プロジェクトのドキュメントは不足していると判定する。
 以上により、評価部10は、開発中プロジェクトのソースコード及びドキュメントのどちらに過不足があるかを判定することができるので、開発中プロジェクトを評価することができる。なお、評価部10は、開発中プロジェクトのソースコード及びドキュメントのどちらに、変更及び修正の箇所に相違があるかを評価してもよい。
 図7のステップS37にて、プロジェクト評価装置1は、評価部10の評価結果に基づいて、報知部11の報知を行うか否かを判定する。例えば、評価部10の評価結果が、開発中プロジェクトのソースコード及びドキュメントのどちらに過不足があることを示す場合、または、変更及び修正の箇所に相違があることを示す場合には、報知部11の報知を行うと判定する。報知部11の報知を行うと判定された場合には、処理がステップS38に進み、報知部11の報知を行うと判定されなかった場合には、図7の動作が終了する。
 ステップS38にて、報知部11は、プロジェクト評価装置1の管理者に対して評価部10の評価結果を報知する。例えば、報知部11は、開発中プロジェクトのソースコード及びドキュメントのどちらに過不足がある場合、または、変更及び修正の箇所に相違がある場合などには、その旨を報知する。その後、図7の動作が終了する。
 <実施の形態1のまとめ>
 以上のような本実施の形態1によれば、第1類似率Xp、第2類似率Xa、及び、第2流用率Yaを関連付けた結果であるZ1pと、第1流用率Yp、第2類似率Xa、及び、第2流用率Yaを関連付けた結果であるZ2pとに基づいて、開発中プロジェクトを評価する。このような構成によれば、異なる種類の成果物を関連付けて開発中プロジェクトを評価するので、例えばドキュメント及びソースコードの相互の過不足の評価を行うことなど、開発中プロジェクトについて適切な評価を行うことができる。
 また本実施の形態1では、ドキュメント分析部8は、流用元ドキュメントと流用先ドキュメントとに基づいて第2類似率を算出する。このような構成によれば、第2類似率を適宜更新することによって適切化することができる。
 また本実施の形態1では、ソースコード分析部4は、流用元ソースコードと流用先ソースコードとに基づいて第2流用率を算出する。このような構成によれば、第2流用率を適宜更新することによって適切化することができる。
 また本実施の形態1では、報知部11は、評価部10の評価結果を報知するので、管理者は、開発中プロジェクトのドキュメント及びソースコードの誤りを見つけることができる。
 また本実施の形態1では、評価部10で用いられる第1類似率、第2類似率、及び、第2流用率の開発フェーズはいずれも同じであり、評価部10で用いられる第1流用率、第2類似率、及び、第2流用率の開発フェーズはいずれも同じである。このような構成によれば、例えばドキュメント及びソースコードの相互の過不足の評価などの精度を高めることができる。
 <変形例1>
 実施の形態1では評価部10は、第1類似率Xp、第2類似率Xa、及び、第2流用率Yaを関連付けた結果であるZ1pと、第1流用率Yp、第2類似率Xa、及び、第2流用率Yaを関連付けた結果であるZ2pとに基づいて、開発中プロジェクトを評価した。しかしながら、評価部10は、第1類似率Xp、第1流用率Yp、第2類似率Xa、及び、第2流用率Yaを関連付けた結果であるZ3pに基づいて、開発中プロジェクトを評価してもよい。例えば、Z3pとしては、Xp×Yp÷(Xa×Ya)などの値を用いてもよいし、第1流用率Ypと期待値Z1pとの差などを用いてもよい。
 <変形例2>
 実施の形態1では、第2類似率はドキュメント分析部8によって算出され、第2流用率はソースコード分析部4によって算出されたが、これに限ったものではない。例えば、第2類似率及び第2流用率の少なくともいずれか1つが、プロジェクト評価装置1に予め設定されて記憶されていてもよい。
 <その他の変形例>
 上述した図1のソースコード分析部4、ドキュメント分析部8、及び、評価部10を、以下「ソースコード分析部4等」と記す。ソースコード分析部4等は、図10に示す処理回路81により実現される。すなわち、処理回路81は、互いに対応するドキュメント及びソースコードが成果物として生成されるプロジェクトのうち、評価対象のプロジェクトのドキュメントと、比較対象のプロジェクトのドキュメントとに基づいて、第1類似率を算出するドキュメント分析部8と、評価対象のプロジェクトのソースコードと、比較対象のプロジェクトのソースコードとに基づいて、第1流用率を算出するソースコード分析部4と、第1類似率及び第1流用率の少なくともいずれか1つと、比較対象のプロジェクトのドキュメントに関する第2類似率と、比較対象のプロジェクトのソースコードに関する第2流用率とを関連付けた結果に基づいて、評価対象のプロジェクトを評価する評価部10と、を備える。処理回路81には、専用のハードウェアが適用されてもよいし、メモリに格納されるプログラムを実行するプロセッサが適用されてもよい。プロセッサには、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などが該当する。
 処理回路81が専用のハードウェアである場合、処理回路81は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。ソースコード分析部4等の各部の機能それぞれは、処理回路を分散させた回路で実現されてもよいし、各部の機能をまとめて一つの処理回路で実現されてもよい。
 処理回路81がプロセッサである場合、ソースコード分析部4等の機能は、ソフトウェア等との組み合わせにより実現される。なお、ソフトウェア等には、例えば、ソフトウェア、ファームウェア、または、ソフトウェア及びファームウェアが該当する。ソフトウェア等はプログラムとして記述され、メモリに格納される。図11に示すように、処理回路81に適用されるプロセッサ82は、メモリ83に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、プロジェクト評価装置1は、処理回路81により実行されるときに、互いに対応するドキュメント及びソースコードが成果物として生成されるプロジェクトのうち、評価対象のプロジェクトのドキュメントと、比較対象のプロジェクトのドキュメントとに基づいて、第1類似率を算出するステップと、評価対象のプロジェクトのソースコードと、比較対象のプロジェクトのソースコードとに基づいて、第1流用率を算出するステップと、第1類似率及び第1流用率の少なくともいずれか1つと、比較対象のプロジェクトのドキュメントに関する第2類似率と、比較対象のプロジェクトのソースコードに関する第2流用率とを関連付けた結果に基づいて、評価対象のプロジェクトを評価するステップと、が結果的に実行されることになるプログラムを格納するためのメモリ83を備える。換言すれば、このプログラムは、ソースコード分析部4等の手順や方法をコンピュータに実行させるものであるともいえる。ここで、メモリ83は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)、それらのドライブ装置、または、今後使用されるあらゆる記憶媒体であってもよい。
 以上、ソースコード分析部4等の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、ソースコード分析部4等の一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えば、ソースコード分析部4については専用のハードウェアとしての処理回路81及びインターフェースなどでその機能を実現し、それ以外についてはプロセッサ82としての処理回路81がメモリ83に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
 以上のように、処理回路81は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。
 また、以上で説明したプロジェクト評価装置は、パーソナルコンピュータなどのプログラム作成装置と、携帯電話、スマートフォン及びタブレットなどの携帯端末を含む通信端末と、プログラム作成装置及び通信端末の少なくとも1つにインストールされるアプリケーションの機能と、サーバとを適宜に組み合わせてシステムとして構築されるプロジェクト評価システムにも適用することができる。この場合、以上で説明したプロジェクト評価装置の各機能あるいは各構成要素は、前記システムを構築する各機器に分散して配置されてもよいし、いずれかの機器に集中して配置されてもよい。
 なお、実施の形態を適宜、変形、省略することが可能である。
 上記した説明は、すべての局面において、例示であって、限定的なものではない。例示されていない無数の変形例が、想定され得るものと解される。
 1 プロジェクト評価装置、4 ソースコード分析部、8 ドキュメント分析部、10 評価部、11 報知部。

Claims (6)

  1.  互いに対応するドキュメント及びソースコードが成果物として生成されるプロジェクトのうち、評価対象の前記プロジェクトの前記ドキュメントと、比較対象の前記プロジェクトの前記ドキュメントとに基づいて、第1類似率を算出するドキュメント分析部と、
     前記評価対象の前記プロジェクトの前記ソースコードと、前記比較対象の前記プロジェクトの前記ソースコードとに基づいて、第1流用率を算出するソースコード分析部と、
     前記第1類似率及び前記第1流用率の少なくともいずれか1つと、前記比較対象の前記プロジェクトの前記ドキュメントに関する第2類似率と、前記比較対象の前記プロジェクトの前記ソースコードに関する第2流用率とを関連付けた結果に基づいて、前記評価対象の前記プロジェクトを評価する評価部と
    を備える、プロジェクト評価装置。
  2.  請求項1に記載のプロジェクト評価装置であって、
     前記ドキュメント分析部は、
     前記比較対象の前記プロジェクトである流用元プロジェクトの前記ドキュメントと、前記流用元プロジェクトを流用して得られた前記プロジェクトである流用先プロジェクトの前記ドキュメントとに基づいて、前記第2類似率を算出する、プロジェクト評価装置。
  3.  請求項1に記載のプロジェクト評価装置であって、
     前記ソースコード分析部は、
     前記比較対象の前記プロジェクトである流用元プロジェクトの前記ソースコードと、前記流用元プロジェクトを流用して得られた前記プロジェクトである流用先プロジェクトの前記ソースコードとに基づいて、前記第2流用率を算出する、プロジェクト評価装置。
  4.  請求項1から請求項3のうちのいずれか1項に記載のプロジェクト評価装置であって、
     前記評価部の評価結果を報知する報知部をさらに備える、プロジェクト評価装置。
  5.  請求項1から請求項4のうちのいずれか1項に記載のプロジェクト評価装置であって、
     前記評価部で用いられる前記第1類似率及び前記第1流用率の少なくともいずれか1つ、前記第2類似率、並びに、前記第2流用率の開発フェーズはいずれも同じである、プロジェクト評価装置。
  6.  互いに対応するドキュメント及びソースコードが成果物として生成されるプロジェクトのうち、評価対象の前記プロジェクトの前記ドキュメントと、比較対象の前記プロジェクトの前記ドキュメントとに基づいて、第1類似率を算出し、
     前記評価対象の前記プロジェクトの前記ソースコードと、前記比較対象の前記プロジェクトの前記ソースコードとに基づいて、第1流用率を算出し、
     前記第1類似率及び前記第1流用率の少なくともいずれか1つと、前記比較対象の前記プロジェクトの前記ドキュメントに関する第2類似率と、前記比較対象の前記プロジェクトの前記ソースコードに関する第2流用率とを関連付けた結果に基づいて、前記評価対象の前記プロジェクトを評価する、プロジェクト評価方法。
PCT/JP2021/047551 2021-12-22 2021-12-22 プロジェクト評価装置及びプロジェクト評価方法 Ceased WO2023119477A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023568874A JP7657324B2 (ja) 2021-12-22 2021-12-22 プロジェクト評価装置及びプロジェクト評価方法
PCT/JP2021/047551 WO2023119477A1 (ja) 2021-12-22 2021-12-22 プロジェクト評価装置及びプロジェクト評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/047551 WO2023119477A1 (ja) 2021-12-22 2021-12-22 プロジェクト評価装置及びプロジェクト評価方法

Publications (1)

Publication Number Publication Date
WO2023119477A1 true WO2023119477A1 (ja) 2023-06-29

Family

ID=86901627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/047551 Ceased WO2023119477A1 (ja) 2021-12-22 2021-12-22 プロジェクト評価装置及びプロジェクト評価方法

Country Status (2)

Country Link
JP (1) JP7657324B2 (ja)
WO (1) WO2023119477A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876992A (ja) * 1994-09-07 1996-03-22 Toshiba Eng Co Ltd ソフトウェア品質評価管理装置及びその方法
JP2003280901A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd 見積評価支援プログラムおよび見積評価支援システム
JP2014174895A (ja) * 2013-03-12 2014-09-22 Mitsubishi Electric Corp バグ収束予測装置及びバグ収束予測プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876992A (ja) * 1994-09-07 1996-03-22 Toshiba Eng Co Ltd ソフトウェア品質評価管理装置及びその方法
JP2003280901A (ja) * 2002-03-25 2003-10-03 Fujitsu Ltd 見積評価支援プログラムおよび見積評価支援システム
JP2014174895A (ja) * 2013-03-12 2014-09-22 Mitsubishi Electric Corp バグ収束予測装置及びバグ収束予測プログラム

Also Published As

Publication number Publication date
JPWO2023119477A1 (ja) 2023-06-29
JP7657324B2 (ja) 2025-04-04

Similar Documents

Publication Publication Date Title
CN109359468B (zh) 漏洞检测方法、装置及设备
CN107729227B (zh) 应用程序测试范围确定方法、系统、服务器和存储介质
CN115039084A (zh) 数据流图的部件的单元测试
JP7155626B2 (ja) フィールドデバイスコミッショニングシステムおよびフィールドデバイスコミッショニング方法
CN111897711B (zh) 代码中bug的定位方法、装置、电子设备及可读存储介质
CN114996127A (zh) 固态硬盘固件模块智能化测试方法及系统
US20070050679A1 (en) Analysis of errors within computer code
CN114116505B (zh) 代码测试方法及装置
CN115203300A (zh) 一种数据验证方法及装置
CN110888804A (zh) 接口测试方法以及接口测试平台
US8856597B2 (en) Validation of a system using a design of experiments processing technique
CN111338869A (zh) 配置参数管理方法、装置、设备及存储介质
WO2023119477A1 (ja) プロジェクト評価装置及びプロジェクト評価方法
US10997996B1 (en) Flexible on-cylinder limit for drive performance management
US11399071B2 (en) Program operation system and program operation method
US12242831B2 (en) Optimized compiler toolchain qualification for functional safety compliance
CN114358889B (zh) 业务订单处理方法、装置、计算机设备及介质
KR20120111618A (ko) Plc 명령어 테스트 장치 및 방법
CN115472203B (zh) 闪存磨损次数预测方法、装置及存储介质
CN117850866A (zh) 一种数据验证测试方法及系统
CN116594883A (zh) 代码测试方法、装置、计算机设备和存储介质
CN117743159A (zh) 应用程序测试方法、装置、设备、介质和计算机程序产品
CN113760875B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN113553114B (zh) 单板cpld加密加载的控制方法、装置、电子设备及存储介质
CN109374038B (zh) 一种基于应用样机的核安全级仪控产品的变更测试方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023568874

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21968914

Country of ref document: EP

Kind code of ref document: A1