Software project progress risk prediction method, device and equipment

By constructing an information knowledge graph and screening target information knowledge data, combined with a machine learning model, the subjectivity and bias problems in software project schedule risk prediction are solved, achieving more accurate risk prediction.

CN119336386BActive Publication Date: 2025-10-17NO 15 INST OF CHINA ELECTRONICS TECH GRP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411283725.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2025-10-17
Estimated Expiration
2044-09-13

AI Technical Summary

Technical Problem

The existing software project schedule risk prediction methods have the problems of strong subjectivity and large deviation in prediction results, which is especially obvious in inexperienced project teams.

Method used

By processing the initial data of the software project, building an information knowledge graph, screening out target information knowledge data that meets the preset risk value, and using machine learning models to predict progress risks, including data format conversion, metadata construction, information ontology matching and risk value calculation.

Benefits of technology

It improves the accuracy of software project schedule risk prediction, ensures that the prediction results are more in line with the actual situation, and reduces subjective bias.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336386B_ABST
    Figure CN119336386B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a software project progress risk prediction method, device and equipment, comprising: performing data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data; constructing an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data; filtering target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value; and determining the progress risk of the software project according to the target information knowledge data. The accuracy of the software project progress risk prediction result is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer technology and related technical fields, in particular, to a software project progress risk prediction method, device and equipment. BACKGROUND

[0002] Software project risk refers to problems encountered in the software development process and the impact of these problems on the software project. At present, risk management of software projects is essential in the development process of many software development companies. The success or failure of the software development process is largely determined by the quality of risk management. Therefore, project progress risk management is very important in the software development process.

[0003] In the prior art, the software project progress risk prediction method uses the experience prediction method, which is based on the experience of project managers and the intuition of team members. Through expert interviews, brainstorming and other methods, possible risk factors are identified and evaluated. This method is suitable for experienced project teams, but due to the existence of subjectivity and limitations, it will lead to large deviations in the prediction results. SUMMARY

[0004] The embodiments described herein provide a software project progress risk prediction method, device and equipment, which solves the problems existing in the prior art.

[0005] In a first aspect, according to the content of the present disclosure, a software project progress risk prediction method is provided, comprising:

[0006] performing data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data;

[0007] constructing an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data;

[0008] filtering target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value;

[0009] determining the progress risk of the software project according to the target information knowledge data.

[0010] In some embodiments of the present disclosure, the data processing on the initial data of the software project to obtain the target data corresponding to the software project comprises:

[0011] Key words are marked on initial data of the software project, and marked key word data is extracted;

[0012] The key word data is subjected to data format conversion to obtain target data satisfying the information knowledge graph format.

[0013] In some embodiments of the present disclosure, the information knowledge graph of the software project is constructed according to the target data corresponding to the software project, including:

[0014] The metadata of the software project is constructed according to the target data corresponding to the software project, wherein the metadata of the software project includes descriptive software project metadata, structured software project metadata, management software project metadata and technical software project metadata;

[0015] The information knowledge graph of the software project is constructed according to the metadata of the software project.

[0016] In some embodiments of the present disclosure, the information knowledge graph of the software project is constructed according to the metadata of the software project, including:

[0017] The software project information ontology is determined according to the metadata of the software project;

[0018] The software project information ontology is matched to obtain the information knowledge graph of the software project.

[0019] In some embodiments of the present disclosure, the target information knowledge data is filtered from the information knowledge graph of the software project, including:

[0020] The correlation of each information knowledge data with the project progress and the influence value of each information knowledge data on the project progress are obtained;

[0021] The risk value of each information knowledge data is determined according to the correlation of each information knowledge data with the project progress and the influence value of each information knowledge data on the project progress;

[0022] The information knowledge data satisfying a preset risk value is filtered as the target information knowledge data according to the risk value of each information knowledge data.

[0023] In some embodiments of the present disclosure, the progress risk of the software project is determined according to the target information knowledge data, including:

[0024] The target information knowledge data is input into a software project progress risk prediction model to obtain mean value, variance, entropy and hyper entropy value output by the software project progress risk prediction model;

[0025] determine the progress risk of the software project according to the mean, variance, entropy and hyper entropy values.

[0026] In some embodiments of the present disclosure, the inputting the target information knowledge data into the software project progress risk prediction model comprises:

[0027] classifying the target information knowledge data according to the label identifier of the target information knowledge data;

[0028] inputting the target information knowledge data corresponding to the same label identifier into the software project progress risk prediction model, and obtaining the mean, variance, entropy and hyper entropy values output by the software project progress risk prediction model under the label identifier;

[0029] The determining the progress risk of the software project according to the mean, variance, entropy and hyper entropy values comprises:

[0030] determining the progress risk of the software project according to the mean, variance, entropy and hyper entropy values output by the software project progress risk prediction model under different label identifiers.

[0031] In some embodiments of the present disclosure, the software project progress risk prediction model comprises an input layer, a convolution layer, a mixed layer, a full connection layer and an output layer, the mixed layer is 5 layers, and the full connection layer is 3 layers.

[0032] In a second aspect, according to the content of the present disclosure, a software project progress risk prediction device is provided, comprising:

[0033] a target data acquisition module configured to perform data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data comprises unstructured software project data and structured software project data;

[0034] an information knowledge graph construction module configured to construct an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph comprises a plurality of information knowledge data;

[0035] a target information knowledge data screening module configured to screen target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data satisfying a preset risk value;

[0036] a progress risk determination module configured to determine a progress risk of the software project according to the target information knowledge data.

[0037] In a third aspect, according to the content of the present disclosure, a computer device is provided, comprising:

[0038] one or more processors;

[0039] a storage device for storing one or more programs,

[0040] when the one or more programs are executed by the one or more processors, so that the one or more processors implement the method as any one of the first aspect.

[0041] The software project progress risk prediction method, device and equipment provided by the embodiments of the present disclosure first perform data processing on the initial data of the software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data; then, according to the target data corresponding to the software project, an information knowledge graph of the software project is constructed, wherein the information knowledge graph includes a plurality of information knowledge data; and target information knowledge data is screened out from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data meeting a preset risk value; finally, according to the target information knowledge data, the progress risk of the software project is determined. First, the information knowledge graph of the software project is constructed through the target data of the software project, the information knowledge graph of the software project is in line with the actual situation of the software project, and the target information knowledge data determined subsequently and input into the software project progress risk prediction model is more in line with the actual situation of the software project, then the target information knowledge data meeting the preset risk value is screened out from the information knowledge graph of the software project as the input of the software project progress risk prediction model, which can improve the accuracy of the prediction result of the software project progress risk prediction model on the progress risk of the software project.

[0042] The above description is only a summary of the technical solutions of the embodiments of the present application, in order to more clearly understand the technical means of the embodiments of the present application, the content of the specification can be implemented, and in order to make the above and other purposes, features and advantages of the embodiments of the present application more obvious and easy to understand, the following specific embodiments of the present application are described. BRIEF DESCRIPTION OF DRAWINGS

[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly described below. It should be noted that the drawings described below only relate to some embodiments of the present disclosure, but not limit the present disclosure, wherein:

[0044] Figure 1 is a flow diagram of a software project progress risk prediction method provided by an embodiment of the present disclosure;

[0045] Figure 2 is a structural diagram of a software project progress risk prediction device provided by an embodiment of the present disclosure;

[0046] Figure 3 is a structural schematic diagram of a computer device provided by an embodiment of the present disclosure.

[0047] In the drawings, reference numbers of the last two digits that are the same, correspond to elements that are the same. It needs to be noted that the elements in the drawings are schematic and not drawn to scale. DETAILED DESCRIPTION

[0048] In order to make the purposes, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions of the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by a person of ordinary skill in the art without any inventive effort also belong to the scope of protection of the present disclosure.

[0049] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this present subject matter belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the specification and relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. As used herein, the statement that two or more parts are "connected" or "coupled" together refer to an indirect or direct connection or coupling.

[0050] Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily all directed to the same embodiment, or to a single alternative embodiment. A person of ordinary skill in the art will readily recognize from the disclosure herein, given the total volume of this application that the embodiments described herein can be combined with embodiments in other parts of the specification.

[0051] The term "and / or", merely an associative relationship of the associated objects, means that there can be three relationships, for example, A and / or B, can represent: there is A, there are A and B, and there is B. In addition, the character " / " herein generally represents that the front and rear associated objects are a "or" relationship.

[0052] In addition, in all embodiments of the present disclosure, terms such as "first" and "second" are only used to distinguish one component (or part of a component) from another component (or another part of a component).

[0053] In the description of the present application, unless otherwise specified, the meaning of "a plurality of" refers to more than two (including two), and similarly, "a plurality of groups" refers to more than two groups (including two groups).

[0054] In order for those skilled in the art to better understand the scheme of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in combination with the drawings.

[0055] Based on the problems existing in the prior art, the present disclosure provides a software project progress risk prediction method, Figure 1 is a flowchart of the software project progress risk prediction method provided by the present disclosure, as Figure 1 shown, the software project progress risk prediction method comprises:

[0056] S110, data processing is performed on the initial data of the software project to obtain target data corresponding to the software project.

[0057] Among them, the initial data includes unstructured software project data and structured software project data.

[0058] Specifically, the initial data of the software project usually includes the number of the software project, the software project contract index requirement, the software project activity type, the software project activity period, the software project resource, and the data generated in the planning and implementation process of the software project, etc. The characteristics of software project data are heterogeneous. Heterogeneous means that the data types of software projects are various, the data structures are inconsistent, and software project data contains various types of structured data and unstructured data.

[0059] In a specific implementation, the specific process of data processing on the initial data of the software project to obtain the target data corresponding to the software project includes: keyword labeling is performed on the initial data of the software project, and the labeled keyword data is extracted; data format conversion is performed on the keyword data to obtain target data meeting the information knowledge graph format.

[0060] In order to extract useful information from the initial data of the software project, the initial data must be data processed, which includes keyword labeling and data format conversion, etc., so that the constructed information knowledge graph is data of the same data format.

[0061] Specifically, for the structured data and unstructured data in the initial data, the initial data is labeled by the keyword labeling method, and the labeled keyword data is the data required for constructing the information knowledge graph of the software project.

[0062] In addition, due to the differences in the formats of the initial data of the software project, in order to construct the information knowledge graph of the software project, after the key word data is labeled in the initial data, the labeled key word data is converted and mapped according to the data format required by the information knowledge graph of the software project, such as RDF or a feature map format, and the data formats are unified.

[0063] As a preferred implementation manner, after the key word data is converted in data format, the key word data converted in data format is cleaned to remove the detected error and inconsistent key word data, so as to ensure the quality of the key word data. The error and inconsistent key word data includes missing or error values (such as printing errors), inconsistent value pairs, mixing several attribute values in a single fuzzy text attribute, repeated or redundant information, etc.

[0064] S120, constructing the information knowledge graph of the software project according to the target data corresponding to the software project.

[0065] The information knowledge graph includes a plurality of information knowledge data.

[0066] After obtaining the target data corresponding to the software project, the information knowledge graph of the software project is constructed based on the target data, and the specific process of constructing the information knowledge graph of the software project based on the target data includes: constructing the metadata of the software project according to the target data corresponding to the software project, wherein the metadata of the software project includes descriptive software project metadata, structured software project metadata, management software project metadata and technical software project metadata; and constructing the information knowledge graph of the software project according to the metadata of the software project.

[0067] Metadata is information describing the characteristics of data, which helps users to locate, understand and manage data. The content of metadata includes descriptive metadata, structural metadata, management metadata and technical metadata. Descriptive metadata covers the name, brief description, theme, keyword and abstract of data; structural metadata involves data type, file format, field, data size and record number; management metadata involves creation date, modification date, author, contact information, license restrictions; and technical metadata includes hardware and software requirements, data quality, data processing and data transmission protocol.

[0068] Specifically, the obtained target data corresponding to the software project is classified, and then different types of metadata are constructed based on the classification result of the target data, so that the target data is classified and managed by the software project, and further provides a basis for subsequently constructing an information knowledge graph more in line with the actual situation of the software project.

[0069] In order to fully use the metadata of the software project to construct the information knowledge graph of the software project, based on the metadata of the created software project, a metadata repository (MDR) of the software project is used to store and organize different types of metadata in the software project in a unified and consistent manner, so that the metadata of the software project can be referenced when constructing the information knowledge graph of the software project, and the metadata of the software project can also be combined.

[0070] In a specific embodiment, according to the metadata of the software project, the information knowledge graph of the software project is constructed, including: determining the software project information ontology according to the metadata of the software project; and matching the software project information ontology to obtain the information knowledge graph of the software project.

[0071] Based on the metadata of the software project, the process of constructing the information knowledge graph of the software project includes: learning of the software project information ontology, and matching and integration of the software project information ontology.

[0072] The software project information ontology is formed by the metadata of the software project, and the development of the ontology of the software project is an increasing process. By creating or expanding an ontology, the information knowledge graph of the software project is constructed. For an initial information knowledge graph of the software project, a ontology is developed, and then the software project ontology is updated incrementally to merge new software project ontologies, so that the existing software project information data is continuously enriched and perfected, and a software project information knowledge graph structure is established.

[0073] In a specific embodiment, based on the metadata of the software project, the information knowledge graph of the software project is constructed, and the construction of the information knowledge graph of the software project involves: learning of the software project information ontology, matching of the software project information ontology, and integration of the software project information ontology.

[0074] The software project information ontology is formed by the metadata of the software project, and the development of the software project information ontology is an increasing process. By creating or expanding an ontology of the software project information knowledge base, the information knowledge graph of the software project is constructed. It is required to develop a ontology for an initial information knowledge graph of the software project, and then update the software project information ontology incrementally to merge new software project information. Thus, the existing software project information data is continuously enriched and perfected, and a software project information knowledge graph structure is established.

[0075] (1) Learning of the software project information ontology

[0076] There are two main methods for learning of the software project information ontology: the first is learning from software project information text (unstructured software project information data); and the second is learning from software project information associated databases (structured software project information data).

[0077] (2) Software project information ontology matching and integration

[0078] Based on the software project information ontology learning method, information from multiple heterogeneous software project data sources is merged and integrated into a new software project information ontology. One of the main steps of data integration is software project information ontology matching, which aims to identify related software project information ontology elements, i.e., matching software project information ontology concepts and matching software project information concept and entity features.

[0079] Based on the matching results of the software project information ontology, new software project information is merged into the existing software project information knowledge graph to realize software project information ontology integration. Three different merging strategies can be selected according to actual conditions during software project information ontology integration:

[0080] ① Simple merging. Import all input software project information ontologies into a new software project information ontology, and construct bridges between equivalent software project information entities, such as defining OWL equivalent classes or equivalent feature relationships.

[0081] ② Complete merging. Import all software project information data source ontologies into a new software project information ontology, merge each equivalent software project information entity cluster into a new unique software project information ontology, and take the union set of all relationships, while equivalent software project information classes remain unchanged.

[0082] ③ Asymmetric merging. This method imports software project information data source ontologies into a more complete software project information target ontology. By merging matched software project information entities into existing software project information target entities or by creating new software project information entities, all concepts, relationships, and rules are preserved.

[0083] Then knowledge extraction is performed, which mainly includes extracting structured information and knowledge from unstructured data after data processing. The operations using techniques and algorithms include: software project information entity recognition, software project information entity connection, and relationship extraction. If necessary, software project information entity and relationship identifier normalization can also be performed.

[0084] (1) Software project activity entity recognition

[0085] Software project information entity recognition is the division and extraction of software project information entities in an input software project information text. In the widely used extraction scenarios, some types are determined, such as software project name, project activity content, assessment node, etc.

[0086] LSTM networks (Long Short Term Memory) are a special case of recurrent neural networks (RNN) that handle software project information entity recognition tasks. The memory unit included in this architecture can handle long-term dependencies.

[0087] (2) Software project information entity linking

[0088] If the software project information entities in the software project information text are identified, it is necessary to link to the software project information knowledge graph. It is called software project information entity linking or software project information entity disambiguation. Given a candidate set of software project information, the software project information entity linking algorithm is used to determine which software project information entity the elements of the candidate set belong to. When performing entity linking, common entity linking algorithms such as DeepMatch model, DeepType model, DeepCosine model, etc. can be selected.

[0089] (3) Software project information relation extraction

[0090] Given the software project information entities identified in the software project information text, the software project information relation extraction is used to determine the relationship between the software project information entities. Using the neural relation extraction method, the input software project information text is converted into a format suitable for neural network input through pre-trained word embedding and position embedding, so as to train the neural network for software project information relation extraction. The reliability of the training data is solved by training the supervised method.

[0091] Finally, through the analysis and fusion of software project entities, mainly including: the identification of matched software project entities and their fusion in the knowledge graph.

[0092] The key step of data integration is software project information entity resolution, also known as software project information entity matching, duplicate data deletion technology, or link discovery technology, which can obtain high data quality. Software project information entities can be identified in a software project information data source or different software project information data sources.

[0093] (1) Software project information entity resolution

[0094] A standard approach to software project information entity resolution uses a pipeline with three successive stages, blocking, matching, and clustering. Software project information entities are iteratively processed through the three successive stages of blocking, matching, and clustering to determine similarities between pairs of software project information entities and thus determine matching candidates. The blocking stage is the first stage of the resolution process and aims to drastically reduce the number of pairs of software project information entities to be evaluated, for example, by partitioning the software project information entities and only comparing software project information entities from the same partition to each other. The matching step then produces a similarity graph, where nodes represent software project information entities and edges connect pairs of similar entities. The clustering stage, which is optional, groups all matches together using the similarity graph. Clustering often improves the quality of software project information entity resolution and is important for the software project information entity merging step, where matching software project information entities are merged into a representative software project information entity.

[0095] The input to the software project information entity resolution workflow is the current version of the software project information knowledge graph, which integrates the set of already integrated software project information entities and new software project information entities.

[0096] (2) Software project information entity merging

[0097] Software project information data merging is the process of combining multiple records of the same software project information entity into a single, consistent, and clean representation. It is a major step in software project information data integration because it combines information from several software project information entities into a single, enriched software project information entity. After software project information entity merging is completed, a software project information knowledge graph is formed.

[0098] As a preferred embodiment, after a software project information knowledge graph is formed, software project information quality optimization is performed to improve the quality of the software project information knowledge graph based on data quality problem fixing strategies.

[0099] The quality of a software project information knowledge graph is important for its reasonableness and usability in applications. After entity resolution and merging, a software project information knowledge graph still needs to be evaluated and improved for quality to further improve the quality of the software project information knowledge graph. First, the quality of the software project knowledge graph is evaluated to detect knowledge graph quality problems, and then the detected quality problems are fixed or migrated to further refine and fix the software project information knowledge graph, mainly including inferring and adding missing knowledge to the graph, or defining and fixing incorrect information fragments to improve data quality.

[0100] Based on the information knowledge graph of the software project optimized in quality, the content of the information knowledge graph is expanded and enriched, such as: by learning a missing type information, predicting new relationships and improving domain-specific data. The information knowledge graph of the software project is completed by adding new entries (nodes, relationships, features) in the graph using existing relationships. After knowledge completion, a more content-rich and perfect information knowledge graph of the software project is obtained.

[0101] S130, screening target information knowledge data from the information knowledge graph of the software project.

[0102] Among them, the target information knowledge data is information knowledge data meeting a preset risk value.

[0103] In a specific embodiment, screening target information knowledge data from the information knowledge graph of the software project includes: obtaining the relevance of each information knowledge data to the project progress and the influence value of each information knowledge data on the project progress; determining the risk value of each information knowledge data according to the relevance of each information knowledge data to the project progress and the influence value of each information knowledge data on the project progress; and screening information knowledge data meeting a preset risk value as target information knowledge data according to the risk value of each information knowledge data.

[0104] Based on the information knowledge graph of the software project, the target information knowledge data is screened from the information knowledge graph and input into the software project progress risk prediction model.

[0105] The information knowledge graph includes multiple information knowledge data, the relevance of each information knowledge data to the project progress, and the influence value of each information knowledge data on the project progress. The risk value of each information knowledge data is determined through the relevance of each information knowledge data to the project progress and the influence value of each information knowledge data on the project progress, and then information knowledge data meeting a preset risk value is screened as target information knowledge data and input into the subsequent project progress risk prediction model.

[0106] As a preferred embodiment, if the relevance of the information knowledge data to the project progress is A1 and the influence value on the project progress is A2, the risk value of the information knowledge data is a*A1+b*A2, a+b=1. The risk value of each information knowledge data is sequentially solved, and the risk value of each information knowledge data is compared with the preset risk value to determine the target information knowledge data.

[0107] As a specific implementation, the target information knowledge data screened includes project contract index requirements, project contract execution, project contract index requirement satisfaction, project resource allocation, project budget, current project activity execution status, project manager management level, project developer professional level, software test problem quantity and severity, QA review problem quantity and severity, project scope change, project requirement change, project schedule plan change, project rework, enterprise software project delivery capability, enterprise software project delivery quality, etc. The embodiments of the present disclosure are not specifically limited thereto.

[0108] In S140, a progress risk of the software project is determined according to the target information knowledge data.

[0109] The progress risk of the software project includes high risk, medium risk and low risk.

[0110] In a specific implementation, determining the progress risk of the software project according to the target information knowledge data includes: inputting the target information knowledge data into a software project progress risk prediction model, obtaining mean, variance, entropy and hyper entropy values output by the software project progress risk prediction model; and determining the progress risk of the software project according to the mean, variance, entropy and hyper entropy values.

[0111] Specifically, the project progress risk prediction module is constructed by using a machine learning model and a deep learning model.

[0112] The software project progress risk prediction model is constructed by using a machine learning model and a deep learning model, the target information knowledge data is input into the software project progress risk prediction model, and a software project progress risk prediction result is obtained.

[0113] Specifically, the target information knowledge data such as project contract index requirements, project contract execution, project contract index requirement satisfaction, project resource allocation, project budget, current project activity execution status, project manager management level, project developer professional level, software test problem quantity and severity, QA review problem quantity and severity, project scope change, project requirement change, project schedule plan change, project rework, enterprise software project delivery capability, enterprise software project delivery quality, etc. is extracted, and the progress risk of the software project is determined.

[0114] The software project progress risk prediction model includes an input layer, a convolution layer, a mixed layer, a full connection layer, and an output layer. The input layer is the first layer of the convolution neural network. The target information knowledge data of the software project information knowledge graph is input into the convolution layer in a format that can be processed by a 1-dimensional CNN. The convolution layer uses a stack of convolution layers, which can be regarded as a linear transformation of an input unit followed by a nonlinear transformation. The high-dimensional padding of the convolution layer preserves the high-dimensional resolution after convolution. The features of the target information knowledge data are extracted through convolution operations. The mixed layer is based on the features of the target information knowledge data extracted by the convolution layer. Five maximum mixed layers are used to perform high-dimensional mixing. These maximum mixed layers are followed by some convolution layers, which filter the data output by the convolution layer, thereby reducing the number of parameters and improving the computational efficiency of the model. The full connection layer is followed by three full connection layers after the stack of convolution layers. The configuration of the full connection layer is the same in all networks. The hidden layer uses a ReLU nonlinear activation function. The VGG-16 network includes a local response regularization (LRN) layer, which improves the performance of VGG-16 feature extraction. The main function of the full connection layer is to convert and classify the features of the target information knowledge data output by the mixed layer. The output layer receives the output of the full connection layer as input and converts it into probability values for each class, ensuring that the model can output the prediction probability of each class.

[0115] As a preferred implementation manner, according to the label identification of the target information knowledge data, the target information knowledge data is classified; the target information knowledge data corresponding to the same label identification is input into the software project progress risk prediction model, and the mean, variance, entropy, and hyperentropy values output by the software project progress risk prediction model under the label identification are obtained; and the progress risk of the software project is determined according to the mean, variance, entropy, and hyperentropy values output by the software project progress risk prediction model under different label identifications.

[0116] Specifically, the target information knowledge data determined in step S130 includes: project contract index requirements, project contract execution, project contract index requirement satisfaction, project resource allocation, project budget, current project activity execution status, project manager management level, project developer professional level, software test problem quantity and severity, QA review problem quantity and severity, project scope change, project requirement change, project schedule plan change, project rework, enterprise software project delivery capability, and enterprise software project delivery quality. The label corresponding to the project contract index requirements is project requirements. The labels corresponding to the project contract index requirement satisfaction, project contract execution, current project activity execution status, project scope change, project requirement change, project schedule plan change, and project rework are project status. The labels corresponding to the project resource allocation, project budget, project manager management level, and project developer professional level are project resources. The labels corresponding to the software test problem quantity and severity and the QA review problem quantity and severity are project problems. The labels corresponding to the enterprise software project delivery capability and the enterprise software project delivery quality are enterprise capabilities.

[0117] By classifying the target information knowledge data, the information knowledge data input to the software project progress risk prediction model is of the same type in the process of determining the progress risk of the software project based on the software project progress risk prediction model. Then, according to the output results of the software project progress risk prediction model on the information knowledge data corresponding to different labels, the accuracy of determining the progress risk of the software project is higher.

[0118] In the above embodiments, the mean value corresponding to the target information knowledge data satisfies:

[0119]

[0120] The variance corresponding to the target information knowledge data satisfies:

[0121]

[0122] The entropy and hyper-entropy corresponding to the target information knowledge data satisfy:

[0123]

[0124]

[0125] Furthermore, based on the above embodiment, an F-score can be calculated for each input feature through ANOVA. The F-score is defined as the ratio of the between-class variance to the within-class variance of the software project schedule risk values ​​at different levels. The F-score is used in the next step to identify the input feature information that best predicts the software project schedule risk value.

[0126] In addition, after obtaining the ANOVA feature information, the obtained ANOVA feature information is classified into the super-aligned dataset (the super-aligned dataset can be represented as a target matrix S j A collection of each matrix S j represents the time series data of the input features of individual j), by stacking n j samples (or time points) to construct each target matrix S j , including m j (m j = m) ANOVA selected input features. This paper aggregates the data from multiple input features to form a fixed number of time points (n) for each object. j =n)

[0127] Superalignment method to find an orthogonal transformation matrix For each individual matrix S j Applying rotations and / or reflections while maximizing the correlation of all individual transformation matrices can be abstracted as a procrustean optimization problem:

[0128]

[0129] Among them, the matrix between individuals The common representation space represents the projection of the average individual matrices of all training subjects into the target common representation space. T and R are iteratively calculated using PyMVPA software. The generalization performance of the model is evaluated using leave-one-out cross-validation (LOOCV). For each cross-validation layer, m features are selected. For each cross-validation layer, the orthogonal solution matrix R is determined, calculated using only the training data. Using the same matrix R to map both training and test data into the same representation space prevents data leakage during cross-validation.

[0130] The software project progress risk prediction method provided by the embodiments of the present disclosure first performs data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data; then constructs an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data; and filters target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value; finally, determines the progress risk of the software project according to the target information knowledge data. First, the information knowledge graph of the software project is constructed through the target data of the software project. The information knowledge graph of the software project is consistent with the actual situation of the software project, which ensures that the target information knowledge data determined subsequently and input into the software project progress risk prediction model is more consistent with the actual situation of the software project. Then, the target information knowledge data that meets the preset risk value is filtered from the information knowledge graph of the software project as the input of the software project progress risk prediction model, which can improve the accuracy of the prediction result of the software project progress risk prediction model on the progress risk of the software project.

[0131] On the basis of the above-mentioned embodiments, the embodiments of the present disclosure further provide a software project progress risk prediction device, Figure 2 is a structural schematic diagram of the software project progress risk prediction device provided by the embodiments of the present disclosure, as Figure 2 indicated, the software project progress risk prediction device includes:

[0132] The target data acquisition module 210 is configured to perform data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data.

[0133] The information knowledge graph construction module 220 is configured to construct an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data.

[0134] The target information knowledge data filtering module 230 is configured to filter target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value.

[0135] The progress risk determination module 240 is configured to determine the progress risk of the software project according to the target information knowledge data.

[0136] The software project progress risk prediction device provided by the embodiments of the present disclosure first performs data processing on initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data; then constructs an information knowledge graph of the software project according to the target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data; and filters target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value; finally, determines the progress risk of the software project according to the target information knowledge data. First, the information knowledge graph of the software project is constructed through the target data of the software project. The information knowledge graph of the software project is consistent with the actual situation of the software project, which ensures that the target information knowledge data determined subsequently and input into the software project progress risk prediction model is more consistent with the actual situation of the software project. Then, the target information knowledge data that meets the preset risk value is filtered from the information knowledge graph of the software project as the input of the software project progress risk prediction model, which can improve the accuracy of the prediction result of the software project progress risk prediction model on the progress risk of the software project.

[0137] In specific embodiments, the data processing on the initial data of the software project to obtain the target data corresponding to the software project includes:

[0138] Performing keyword labeling on the initial data of the software project and extracting labeled keyword data;

[0139] Performing data format conversion on the keyword data to obtain target data that meets the format of the information knowledge graph.

[0140] In specific embodiments, the construction of the information knowledge graph of the software project according to the target data corresponding to the software project includes:

[0141] Constructing metadata of the software project according to the target data corresponding to the software project, wherein the metadata of the software project includes descriptive software project metadata, structured software project metadata, management software project metadata and technical software project metadata;

[0142] Constructing the information knowledge graph of the software project according to the metadata of the software project.

[0143] In specific embodiments, the construction of the information knowledge graph of the software project according to the metadata of the software project includes:

[0144] Determining the software project information ontology according to the metadata of the software project;

[0145] Match the software project information ontology to obtain an information knowledge graph of the software project.

[0146] In specific embodiments, the target information knowledge data is filtered from the information knowledge graph of the software project, including:

[0147] The relevance of each information knowledge data to the project progress and the influence value of each information knowledge data on the project progress are obtained;

[0148] According to the relevance of each information knowledge data to the project progress and the influence value of each information knowledge data on the project progress, the risk value of each information knowledge data is determined;

[0149] According to the risk value of each information knowledge data, information knowledge data satisfying a preset risk value is filtered as target information knowledge data.

[0150] In specific embodiments, the progress risk of the software project is determined according to the target information knowledge data, including:

[0151] The target information knowledge data is input into a software project progress risk prediction model to obtain mean, variance, entropy and hyperentropy values output by the software project progress risk prediction model;

[0152] According to the mean, variance, entropy and hyperentropy values, the progress risk of the software project is determined.

[0153] In specific embodiments, the target information knowledge data is input into a software project progress risk prediction model to obtain mean, variance, entropy and hyperentropy values output by the software project progress risk prediction model, including:

[0154] According to the label identifier of the target information knowledge data, the target information knowledge data is classified;

[0155] The target information knowledge data corresponding to the same label identifier is input into a software project progress risk prediction model to obtain mean, variance, entropy and hyperentropy values output by the software project progress risk prediction model under the label identifier;

[0156] According to the mean, variance, entropy and hyperentropy values, the progress risk of the software project is determined, including:

[0157] According to the mean, variance, entropy and hyperentropy values output by the software project progress risk prediction model under different label identifiers, the progress risk of the software project is determined.

[0158] In a specific embodiment, the software project progress risk prediction model comprises an input layer, a convolution layer, a mixed layer, a full connection layer and an output layer, the mixed layer is 5 layers, and the full connection layer is 3 layers.

[0159] The embodiment of the present application also provides a computer device, and the specific embodiments are described below. Figure 3 , Figure 3 The basic structure block diagram of the computer device is shown in FIG. 1.

[0160] The computer device comprises a memory 510 and a processor 520 which are connected to each other through a system bus. It should be noted that only the computer device with components 510-520 is shown in the figure, but it should be understood that all the shown components are not required to be implemented, and more or less components can be alternatively implemented. It should be understood by those skilled in the art that the computer device herein is a device capable of automatically performing numerical calculation and / or information processing according to pre-set or stored instructions, and the hardware thereof includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), an embedded device, etc.

[0161] The computer device can be a desktop computer, a notebook computer, a palm computer, a cloud server and other computing devices. The computer device can interact with a user through a keyboard, a mouse, a remote controller, a touchpad or a voice control device.

[0162] The memory 510 includes at least one type of readable storage medium, including non-volatile memory or volatile memory, for example, flash memory, a hard disk, a multimedia card, a card-type memory (e.g., an SD or DX memory, etc.), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. The RAM can include static RAM or dynamic RAM. In some embodiments, the memory 510 can be an internal storage unit of the computer device, for example, a hard disk or a memory of the computer device. In other embodiments, the memory 510 can also be an external storage device of the computer device, for example, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, or a flash card, etc. equipped on the computer device. Of course, the memory 510 can include both an internal storage unit and an external storage device of the computer device. In this embodiment, the memory 510 is generally used to store an operating system and various application software installed on the computer device, for example, program codes of the above-described method, etc. In addition, the memory 510 can also be used to temporarily store various data that has been output or will be output.

[0163] The processor 520 is generally used to perform the overall operation of the computer device. In this embodiment, the memory 510 is used to store program codes or instructions, which include computer operation instructions, and the processor 520 is used to execute the program codes or instructions stored in the memory 510 or process data, for example, run the program codes of the above-described method.

[0164] In this document, the bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus system can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is shown in the figure, but this does not mean that there is only one bus or only one type of bus.

[0165] Another embodiment of the present application also provides a computer readable medium, which can be a computer readable signal medium or a computer readable storage medium. A processor in a computer reads computer readable program codes stored in the computer readable medium, so that the processor can perform the functions and actions specified in each step or a combination of steps in the above method; and generates a device that implements the functions and actions specified in each block or a combination of blocks in the block diagram.

[0166] The computer readable medium includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any appropriate combination of the foregoing, for storing program codes or instructions, which include computer operation instructions, and a processor for executing the program codes or instructions of the above method stored in the memory.

[0167] The definitions of the memory and the processor can refer to the descriptions of the foregoing computer device embodiments, which will not be repeated here.

[0168] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of the modules or units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units or components shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0169] The functional units or modules in each embodiment of the present application can be integrated in one processing unit, or can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0170] If the integrated unit is implemented in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the embodiments of the method of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0171] Unless the context clearly indicates otherwise, as used herein and in the appended claims, the singular form "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Accordingly, the use of "a" or "an" herein and in the following claims is intended to be interpreted to include the plural, unless the context clearly indicates otherwise. Similarly, the words "comprise," "comprises," and "comprising" are to be interpreted inclusively rather than exclusively. Likewise, the terms "include," "including," and "includes" should be construed to be inclusive, unless otherwise indicated herein. Where the term "example" is used occurring in this document, particularly with respect to a term or phrase, the "example" is merely an example and is not to be construed as preferred or advantageous over other examples.

[0172] Further aspects and scope of adaptation become apparent from the description provided herein. It should be appreciated that individual aspects of the present application can be implemented alone or in combination with one or more other aspects. It should also be appreciated that the description and specific examples herein are intended to be for illustrative purposes only and are not intended to limit the scope of the present application.

[0173] The above detailed description of several embodiments of the present disclosure is made, but it is obvious that those skilled in the art can make various modifications and variations to the embodiments of the present disclosure without departing from the spirit and scope of the present disclosure. The protection scope of the present disclosure is defined by the appended claims.

Claims

1. A software project schedule risk prediction method, characterized in that: include: Processing initial data of the software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data, and the initial data of the software project includes the software project number, software project contract indicator requirements, software project activity type, software project activity cycle, software project resources, and data generated during the planning and implementation of the software project; Constructing an information knowledge graph of the software project according to target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data; Filtering target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value; determining the schedule risk of the software project based on the target information knowledge data; The processing of the initial data of the software project to obtain target data corresponding to the software project includes: Performing keyword tagging on the initial data of the software project and extracting the tagged keyword data; Performing data format conversion on the keyword data to obtain target data that meets the format of the information knowledge graph; The step of screening target information knowledge data from the information knowledge graph of the software project includes: Obtaining the relevance between each piece of information knowledge data and the project progress and the impact value of each piece of information knowledge data on the project progress; Determining the risk value of each piece of information knowledge data based on the relevance between each piece of information knowledge data and the project progress and the impact value of each piece of information knowledge data on the project progress; According to the risk value of each of the information knowledge data, the information knowledge data meeting the preset risk value is selected as the target information knowledge data; Determining the schedule risk of the software project based on the target information knowledge data includes: Classifying the target information knowledge data according to the label identification of the target information knowledge data; Inputting the target information knowledge data corresponding to the same tag identifier into the software project schedule risk prediction model, and obtaining the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model under the tag identifier; The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy values ​​output by the software project schedule risk prediction model under different label identifications.

2. The method according to claim 1, characterized in that The processing of the initial data of the software project to obtain target data corresponding to the software project includes: Performing keyword tagging on the initial data of the software project and extracting the tagged keyword data; The keyword data is converted into a data format to obtain target data that meets the format of the information knowledge graph.

3. The method according to claim 1, characterized in that The step of constructing an information knowledge graph of the software project based on target data corresponding to the software project includes: Constructing metadata of the software project according to target data corresponding to the software project, wherein the metadata of the software project includes descriptive software project metadata, structured software project metadata, management software project metadata, and technical software project metadata; An information knowledge graph of the software project is constructed based on the metadata of the software project.

4. The method according to claim 3, characterized in that The step of constructing an information knowledge graph of the software project based on the metadata of the software project includes: Determining the software project information ontology according to the metadata of the software project; The software project information ontology is matched to obtain an information knowledge graph of the software project.

5. The method according to claim 1, wherein The software project progress risk prediction model includes an input layer, a convolutional layer, a hybrid layer, a fully connected layer and an output layer. The hybrid layer has 5 layers and the fully connected layer has 3 layers.

6. A software project progress risk prediction device, characterized in that: include: a target data acquisition module, configured to process the initial data of a software project to obtain target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data, and the initial data of the software project includes the software project number, software project contract indicator requirements, software project activity type, software project activity cycle, software project resources, and data generated during the planning and implementation of the software project; An information knowledge graph construction module, configured to construct an information knowledge graph of the software project based on target data corresponding to the software project, wherein the information knowledge graph includes a plurality of information knowledge data; a target information knowledge data screening module, configured to screen target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is information knowledge data that meets a preset risk value; A schedule risk determination module, configured to determine the schedule risk of the software project based on the target information knowledge data; The processing of the initial data of the software project to obtain target data corresponding to the software project includes: Performing keyword tagging on the initial data of the software project and extracting the tagged keyword data; Performing data format conversion on the keyword data to obtain target data that meets the format of the information knowledge graph; The step of screening target information knowledge data from the information knowledge graph of the software project includes: Obtaining the relevance between each piece of information knowledge data and the project progress and the impact value of each piece of information knowledge data on the project progress; Determining the risk value of each piece of information knowledge data based on the relevance between each piece of information knowledge data and the project progress and the impact value of each piece of information knowledge data on the project progress; According to the risk value of each of the information knowledge data, the information knowledge data meeting the preset risk value is selected as the target information knowledge data; Determining the schedule risk of the software project based on the target information knowledge data includes: Classifying the target information knowledge data according to the label identification of the target information knowledge data; Inputting the target information knowledge data corresponding to the same tag identifier into the software project schedule risk prediction model, and obtaining the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model under the tag identifier; The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy values ​​output by the software project schedule risk prediction model under different label identifications.

7. A computer device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Quality risk management method and system for building decoration project

    CN118536853A