Software project progress risk prediction method, device and equipment
By performing data processing on the initial data of the software project and building an information knowledge map, the target information knowledge data is filtered out and input into the schedule risk prediction model, which solves the subjectivity and limitations of the software project schedule risk prediction method in the existing technology. Improved the accuracy of prediction results.
Patent Information
- Application Number
- CN202411283725.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-09-13
AI Technical Summary
The software project progress risk prediction method in the prior art has subjectivity and limitations, resulting in large deviations in the prediction results.
By performing data processing on the initial data of the software project, an information knowledge graph is constructed, the target information knowledge data is screened out, and the data is input into the schedule risk prediction model to determine the schedule risk of the software project.
It improves the fit of the software project schedule risk prediction model to the actual situation and the accuracy of the prediction results, and reduces the influence of subjectivity.
Smart Images

Figure CN119336386A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of computer technology and related technologies, and in particular to a method, device and equipment for predicting the progress risk of a software project. Background Art
[0002] Software project risk refers to the problems encountered in the software development process, such as progress, and the impact of these problems on the software project. At present, many software development companies will inevitably involve software project risk management in the process of developing software. The quality of risk management largely determines the success of the software development process. Therefore, project progress risk management is very important in the software development process.
[0003] In the prior art, the prediction method of software project schedule risk adopts the empirical prediction method, which is based on the experience of the project manager and the intuition of the team members, and identifies and evaluates possible risk factors through expert interviews, brainstorming, etc. This method is suitable for experienced project teams, but due to certain subjectivity and limitations, it will lead to large deviations in the prediction results. Summary of the invention
[0004] The embodiments described herein provide a method, apparatus and device for predicting the schedule risk of a software project, which solve the problems existing in the prior art.
[0005] In a first aspect, according to the content of the present disclosure, a method for predicting the progress risk of a software project is provided, comprising:
[0006] Performing data processing on 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;
[0007] According to the target data corresponding to the software project, construct an information knowledge graph of 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] The schedule risk of the software project is determined according to the target information knowledge data.
[0010] In some embodiments of the present disclosure, the step of processing the initial data of the software project to obtain target data corresponding to the software project includes:
[0011] Performing keyword tagging on the initial data of the software project and extracting the tagged keyword data;
[0012] The keyword data is converted into a data format to obtain target data that satisfies the format of the information knowledge graph.
[0013] In some embodiments of the present disclosure, constructing the information knowledge graph of the software project according to the target data corresponding to the software project includes:
[0014] 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;
[0015] According to the metadata of the software project, an information knowledge graph of the software project is constructed.
[0016] In some embodiments of the present disclosure, constructing the information knowledge graph of the software project according to the metadata of the software project includes:
[0017] Determining the software project information ontology according to the metadata of the software project;
[0018] The software project information ontology is matched to obtain an information knowledge graph of the software project.
[0019] In some embodiments of the present disclosure, the step of filtering out target information knowledge data from the information knowledge graph of the software project includes:
[0020] Obtaining the relevance of each of the information knowledge data to the project progress and the impact value of each of the information knowledge data on the project progress;
[0021] Determining the risk value of each piece of information knowledge data according to 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;
[0022] According to the risk value of each of the information knowledge data, the information knowledge data that meets the preset risk value is screened as the target information knowledge data.
[0023] In some embodiments of the present disclosure, determining the schedule risk of the software project according to the target information knowledge data includes:
[0024] Inputting the target information knowledge data into a software project schedule risk prediction model to obtain a mean, variance, entropy and super entropy value output by the software project schedule risk prediction model;
[0025] The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy values.
[0026] In some embodiments of the present disclosure, the step of inputting the target information knowledge data into a software project schedule risk prediction model to obtain a mean, variance, entropy, and super entropy value output by the software project schedule risk prediction model includes:
[0027] Classifying the target information knowledge data according to the label identification of the target information knowledge data;
[0028] Inputting the target information knowledge data corresponding to the same tag identification 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 identification;
[0029] Determining the schedule risk of the software project according to the mean, variance, entropy and super entropy value includes:
[0030] The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model under different label identifications.
[0031] In some embodiments of the present disclosure, the software project schedule 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.
[0032] In a second aspect, according to the content of the present disclosure, a software project schedule risk prediction device is provided, comprising:
[0033] A target data acquisition module, used to process the initial data of the software project to obtain the target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data;
[0034] An information knowledge graph construction module, used to construct 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;
[0035] A target information knowledge data screening module, used 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;
[0036] The schedule risk determination module is used to determine the schedule risk of the software project according to the target information knowledge data.
[0037] In a third aspect, according to the present disclosure, there is provided a computer device, including:
[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, the one or more processors implement any method as described in the first aspect.
[0041] The software project schedule risk prediction method, device and equipment provided by the disclosed embodiment firstly processes the initial data of the software project to obtain the 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, constructs the information knowledge graph of the software project, wherein the information knowledge graph includes multiple information knowledge data; and selects the target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is the information knowledge data that meets the preset risk value; finally, according to the target information knowledge data, determines the schedule risk of the software project. First, the information knowledge graph of the software project is constructed by the target data of the software project, and the information knowledge graph of the software project fits the actual situation of the software project, ensuring that the target information knowledge data subsequently determined to be input into the software project schedule risk prediction model is more in line with the actual situation of the software project, and then by selecting the target information knowledge data that meets the preset risk domain value from the information knowledge graph of the software project as the input of the software project schedule risk prediction model, the accuracy of the prediction result of the software project schedule risk prediction model for the software project schedule risk can be improved.
[0042] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the embodiment of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiment of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE 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 are not intended to limit the present disclosure, wherein:
[0044] Figure 1 It is a flowchart of a method for predicting software project schedule risk provided by an embodiment of the present disclosure;
[0045] Figure 2 It is a structural diagram of a software project schedule risk prediction device provided by an embodiment of the present disclosure;
[0046] Figure 3 It is a structural diagram of a computer device provided in an embodiment of the present disclosure.
[0047] In the drawings, reference numerals with the same last two digits correspond to the same elements. It should be noted that the elements in the drawings are schematic and not drawn to scale. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work also fall within 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 a person skilled in the art to which the subject matter of the present disclosure belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the specification and the relevant art, and will not be interpreted in an idealized or overly formal form unless otherwise explicitly defined herein. As used herein, a statement that two or more parts are "connected" or "coupled" together shall mean that the parts are joined together directly or through one or more intermediate components.
[0050] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase "embodiments" in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0051] The term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists, A and B exist at the same time, and B exists. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0052] Furthermore, in all embodiments of the present disclosure, terms such as “first” and “second” are used only to distinguish one component (or a part of a component) from another component (or another part of a component).
[0053] In the description of the present application, unless otherwise specified, "plurality" means more than two (including two), and similarly, "multiple groups" means more than two groups (including two).
[0054] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings.
[0055] Based on the problems existing in the prior art, the present invention provides a method for predicting the progress risk of a software project. Figure 1 is a flowchart of a software project schedule risk prediction method provided by an embodiment of the present disclosure, such as Figure 1 As shown in the figure, the software project schedule risk prediction method includes:
[0056] S110: Process the initial data of the software project to obtain target data corresponding to the software project.
[0057] The initial data includes unstructured software project data and structured software project data.
[0058] Specifically, the initial data of a software project usually includes the software project number, software project contract indicator requirements, software project activity types, software project activity cycles, software project resources, and data generated during the planning and implementation of the software project. The characteristic of software project data is heterogeneity. Heterogeneity means that the data types of software projects are diverse and the data structures are inconsistent. Software project data contains multiple types of structured data and unstructured data.
[0059] In a specific implementation, the specific process of processing the initial data of the software project to obtain the target data corresponding to the software project includes: tagging the initial data of the software project with keywords and extracting the labeled keyword data; converting the keyword data into a data format to obtain target data that meets the information knowledge graph format.
[0060] In order to extract useful information from the initial data of a software project, the initial data must be processed. Data processing includes keyword labeling and data format conversion, so that the constructed information knowledge graph is data in the same data format.
[0061] Specifically, for the structured data and unstructured data in the initial data, the initial data is annotated by keyword tagging, and the annotated keyword data is the data required to construct the information knowledge graph of the software project.
[0062] In addition, since the format of the initial data of the software project may differ, in order to build the information knowledge graph of the software project, after marking the keyword data in the initial data, the marked keyword 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 graph format, to unify the data format.
[0063] As a preferred implementation method, after the data format conversion of the keyword data, the keyword data after the data format conversion is cleaned to remove the detected erroneous and inconsistent keyword data, so as to ensure the quality of the keyword data. The erroneous and inconsistent keyword data include: missing or wrong 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. Construct an information knowledge graph of the software project based on the target data corresponding to the software project.
[0065] Among them, the information knowledge graph includes multiple information knowledge data.
[0066] After obtaining the target data corresponding to the software project, an information knowledge graph of the software project is constructed based on the target data, wherein the specific process of constructing the information knowledge graph of the software project based on the target data includes: 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, managerial software project metadata and technical software project metadata; constructing the information knowledge graph of the software project according to the metadata of the software project.
[0067] Metadata is information that describes the characteristics of data. It helps users locate, understand and manage data. Metadata content includes descriptive, structural, administrative and technical metadata. Descriptive metadata covers the name, brief description, subject, keywords and abstract of the data; structural metadata involves data type, file format, field, data size and number of records; administrative metadata involves creation date, modification date, author, contact information, license restrictions, etc.; technical metadata includes hardware and software requirements, data quality, data processing and data transmission protocols, etc.
[0068] Specifically, the target data corresponding to the obtained software project is classified, and then different types of metadata are constructed based on the classification results of the target data, so that the software project can classify and manage the target data, thereby providing a basis for the subsequent construction of an information knowledge graph that is more in line with the actual situation of the software project.
[0069] In order to make full use of the metadata of software projects to construct the information knowledge graph of software projects, based on the metadata of the created software projects, a metadata repository (MDR) of software projects is used to store and organize different types of metadata in software projects in a unified and consistent manner, so that the metadata of software projects can be referenced and combined when constructing the information knowledge graph of software projects.
[0070] In a specific implementation, an information knowledge graph of a software project is constructed based on the metadata of the software project, including: determining the software project information ontology based on 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 software projects, the process of constructing the information knowledge graph of software projects includes: learning the information ontology of software projects and matching and integrating the information ontology of software projects.
[0072] The software project information ontology is composed of a collection of metadata of the software project. The development of the ontology of the software project is an incremental process. By creating or expanding an ontology, the information knowledge graph of the software project is constructed. For an initial software project information knowledge graph, an ontology is developed, and then the ontology of the software project is incrementally updated to merge the new ontologies of various software projects, thereby continuously enriching and improving the existing software project information data and establishing an information knowledge graph structure of a software project.
[0073] In a specific implementation, based on the metadata of the software project, an information knowledge graph of the software project is constructed, and the construction of the information knowledge graph of the software project involves: software project information ontology learning, software project information ontology matching, and software project information ontology integration.
[0074] The software project information ontology is composed of the metadata of the software project. The development of the software project information ontology is an incremental process. By creating or expanding the software project information knowledge base of an ontology, the information knowledge graph of the software project is constructed. It is required to develop an ontology for an initial software project information knowledge graph, and then incrementally update the software project information ontology to merge various new software project information. In this way, the existing software project information data is continuously enriched and improved, and an information knowledge graph structure of a software project is established.
[0075] (1) Software Project Information Ontology Learning
[0076] There are two main methods for learning software project information ontology: the first is to learn from the source of software project information text (unstructured software project information data); the second is to learn from the database associated with software project information (structured software project information data).
[0077] (2) Software Project Information Ontology Matching and Integration
[0078] Based on the software project information ontology learning method, the information from multiple heterogeneous software project data sources is merged and integrated into a new software project information ontology. A major step in data integration is the matching of software project information ontology. The task is to identify relevant software project information ontology elements, namely: matching software project information ontology concepts and matching software project information concepts with entity features.
[0079] Based on the matching results of the software project information ontology, the new software project information is merged into the information knowledge graph of the existing software project to achieve the integration of the software project information ontology. When integrating the software project information ontology, three different merging strategies can be selected according to the actual situation:
[0080] ① Simple merging: Import all input software project information ontology into a new software project information ontology and build bridges between equivalent software project information entities, such as defining OWL equivalence classes or equivalent feature relations.
[0081] ② Complete merging: Import all software project information data source ontology into a new software project information ontology, merge each cluster of equivalent software project information entities into a new unique software project information ontology, and find the union of all relationships. Equivalent software project information classes remain unchanged.
[0082] ③ Asymmetric merging. This method imports the software project information data source ontology into a more complete software project information target ontology. By merging matching 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 retained.
[0083] Then, knowledge extraction is performed. Knowledge extraction mainly includes deriving structured information and knowledge from unstructured data after data processing. The operations performed using technology and algorithms include: identification of software project information entities, connection of software project information entities and relationship extraction. If necessary, the software project information entity and relationship identifiers can also be normalized.
[0084] (1) Software Project Activity Entity Identification
[0085] Software project information entity recognition is to divide the location of the extracted software project information entities in an input software project information text. Some types are determined in the widely used situations extracted, such as: software project name, project activity content, assessment nodes, etc.
[0086] LSTM network (Long Short-Term Memory) is a special case of Recurrent Neural Network (RNN) that handles the task of identifying information entities in software projects. The memory unit included in this architecture can handle long-term dependencies.
[0087] (2) Software Project Information Entity Connection
[0088] If the software project information entity in the software project information text is identified, it needs to be connected to the information knowledge graph of the software project. This is called software project information entity connection or software project information entity disambiguation. Given a candidate set in the software project information, the software project information entity connection algorithm is used to determine which software project information entity the elements of the candidate set belong to. When performing entity connection, common entity connection algorithms such as DeepMatch model, DeepType model, and DeepCosine model can be selected.
[0089] (3) Software Project Information Relationship Extraction
[0090] Given the software project information entities identified in the software project information text, the relationships between the software project information entities are determined using software project information relationship extraction. Using the neural relationship 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, thereby training the neural network for software project information relationship extraction. The reliability of the training data is addressed through the training supervision method.
[0091] Finally, through the analysis and fusion of software project entities, it mainly includes: the identification of matching 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, deduplication technology, or connection discovery technology, which can achieve high data quality. Software project information entities can be identified in one software project information data source or in different software project information data sources.
[0093] (1) Software Project Information Entity Analysis
[0094] The standard approach to software project information entity resolution uses a pipeline with three consecutive stages, where the resolution process includes three stages: blocking, matching, and clustering. Software project information entities are continuously traversed through the three consecutive stages of blocking, matching, and clustering, which can determine the similarity between pairs of software project information entities and thus determine matching candidates. The blocking stage is the first stage of the resolution process, and its goal is to greatly reduce the number of software project information entity pairs evaluated, for example: based on some partitions, only software project information entities in the same partition need to be compared with each other. A similarity graph is then obtained using the matching step, with nodes representing software project information entities and edges connecting pairs of similar entities. The matching stage is followed by an optional clustering stage, which uses the similarity graph to group all matches together. Clustering generally improves the quality of software project information entity resolution and is important for the software project information entity fusion step, which fuses the matched software project information entities into a representative software project information entity.
[0095] The input of the software project information entity resolution workflow is the current version of the information knowledge graph of the software project, which integrates the collection of already integrated software project information entities and new software project information entities.
[0096] (2) Software Project Information Entity Fusion
[0097] Software project information data fusion is to merge multiple records of the same software project information entity into a single, consistent, and clear representation. This is a major step in software project information data integration because it combines information from several software project information entities into one rich software project information entity. After completing the fusion of software project information entities, an information knowledge graph of a software project is formed.
[0098] As a preferred implementation, after forming an information knowledge graph of a software project, the quality of the information knowledge graph of the software project is improved by optimizing the information quality of the software project and adopting a data quality problem repair strategy based on the data in the information knowledge graph of the software project.
[0099] The quality of the information knowledge graph of a software project is of great significance to its rationality and usability in applications. After entity resolution and fusion, the information knowledge graph of a software project still needs to be evaluated and improved to further improve the quality of the information knowledge graph of the software project. First, the quality of the knowledge graph of the software project is evaluated to detect quality problems of the knowledge graph. Then, by repairing or migrating the detected quality problems, the information knowledge graph of the software project is further refined and repaired, mainly including inferring and adding missing knowledge to the graph, or defining and repairing erroneous information fragments to improve data quality.
[0100] Based on the information knowledge graph of the quality-optimized software project, the content of the information knowledge graph is expanded and enriched, for example, by learning a missing type of information, predicting new relationships and enhancing domain-specific data. The completion of the information knowledge graph of the software project is to add new entries (nodes, relationships, features) to the graph using existing relationships. After knowledge completion, a more content-rich and complete information knowledge graph of the software project is obtained.
[0101] S130. Filter out 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 that meets the preset risk value.
[0103] In a specific implementation, target information knowledge data is screened out from the information knowledge graph of the software project, including: obtaining the relevance of each information knowledge data to the project progress and the impact 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 impact value of each information knowledge data on the project progress; and based on the risk value of each information knowledge data, screening information knowledge data that meets the preset risk value as the target information knowledge data.
[0104] Based on the information knowledge graph of the software project, the target information knowledge data is screened out from the information knowledge graph and input into the software project schedule risk prediction model.
[0105] The information knowledge graph includes multiple information knowledge data, the correlation between each information knowledge data and the project progress, and the impact value of each information knowledge data on the project progress. The risk value of each information knowledge data is determined through the correlation between each information knowledge data and the project progress and the impact value of each information knowledge data on the project progress, and then the information knowledge data that meets the preset risk value is screened out as the target information knowledge data and input into the subsequent project progress risk prediction model.
[0106] As a preferred implementation, if the correlation between information knowledge data and project progress is A1, and the impact value on project progress is A2, then the risk value of the information knowledge data is a*A1+b*A2, a+b=1. The target information knowledge data is determined by solving the risk value of each information knowledge data in turn and comparing the risk value of each information knowledge data with the preset risk value.
[0107] As a specific implementation method, the screened target information knowledge data includes project contract indicator requirements, project contract execution status, project contract indicator requirement satisfaction status, project resource allocation status, project budget status, current project activity execution status, project manager management level, project developer professional level, number and severity of software testing issues, number and severity of QA review issues, project scope changes, project requirements changes, project schedule changes, project rework status, enterprise software project delivery capabilities, enterprise software project delivery quality, etc. The present disclosed embodiment does not specifically limit this.
[0108] S140. Determine the progress risk of the software project based on the target information knowledge data.
[0109] Among them, the schedule risks of software projects include high risk, medium risk and low risk.
[0110] In a specific implementation, determining the schedule risk of a software project based on target information knowledge data includes: inputting the target information knowledge data into a software project schedule risk prediction model, obtaining the mean, variance, entropy and super entropy values output by the software project schedule risk prediction model; and determining the schedule risk of the software project based on the mean, variance, entropy and super entropy values.
[0111] Specifically, the project schedule risk prediction module is constructed using machine learning models and deep learning models.
[0112] A software project schedule risk prediction model is constructed using machine learning models and deep learning models. The target information knowledge data is input into the software project schedule risk prediction model to obtain the software project schedule risk prediction results.
[0113] Specifically, the progress risk of the software project is determined by extracting input target information knowledge data such as project contract indicator requirements, project contract execution status, satisfaction of project contract indicator requirements, project resource allocation status, project budget status, current project activity execution status, project manager management level, project developer professional level, number and severity of software testing issues, number and severity of QA review issues, project scope changes, project requirements changes, project schedule plan changes, project rework status, enterprise software project delivery capabilities, and enterprise software project delivery quality.
[0114] Among them, the software project schedule risk prediction model includes input layer, convolution layer, mixing layer, fully connected layer and output layer input layer, the input layer is the first layer of the convolutional neural network, and the target information knowledge data of the information knowledge graph of the software project 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 retains the high-dimensional resolution after the convolution, and the features of the target information knowledge data are extracted through the convolution operation; the mixing layer uses 5 maximum mixing layers to perform high-dimensional mixing based on the features of the target information knowledge data extracted by the convolution layer. These maximum mixing layers can be used to perform high-dimensional mixing. A large mixed layer is followed by some convolutional layers to filter the data output by the convolutional layer, thereby reducing the number of parameters and improving the computational efficiency of the model; the stack of fully connected layers is followed by three fully connected layers. The configuration of the fully connected layers is the same in all networks. The hidden layer uses the ReLU nonlinear activation function. The VGG-16 network contains a local response regularization (LRN) layer to improve the performance of VGG-16 feature extraction. The main function of the fully connected 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 fully connected layer as input and converts it into a probability value for each class to ensure that the model can output the predicted probability of each class.
[0115] As a preferred implementation method, the target information knowledge data is classified according to the label identification of the target information knowledge data; the target information knowledge data corresponding to the same label identification is input into the software project progress risk prediction model to obtain the mean, variance, entropy and super entropy value output by the software project progress risk prediction model under the label identification; the progress risk of the software project is determined according to the mean, variance, entropy and super entropy value output by the software project progress risk prediction model under different label identifications.
[0116] Specifically, the target information knowledge data determined in step S130 include: project contract indicator requirements, project contract execution status, project contract indicator requirement satisfaction status, project resource allocation status, project budget status, current project activity execution status, project manager management level, project developer professional level, software testing problem quantity and severity, QA review problem quantity and severity, project scope change status, project requirement change status, project schedule change status, project rework status, enterprise software project delivery capability, and enterprise software project delivery quality, wherein the label corresponding to the project contract indicator requirements is project requirements, the label corresponding to the project contract indicator requirement satisfaction status, project contract execution status, current project activity execution status, project scope change status, project requirement change status, project schedule change status, and project rework status is project status, the label corresponding to the project resource allocation status, project budget status, project manager management level, and project developer professional level is project resources, the label corresponding to the software testing problem quantity and severity and the QA review problem quantity and severity is project problem, and the label corresponding to the enterprise software project delivery capability and the enterprise software project delivery quality is enterprise capability.
[0117] By classifying the target information knowledge data, in the process of determining the schedule risk of a software project based on the software project schedule risk prediction model, the information knowledge data input into the software project schedule risk prediction model are the same type of information knowledge data, and then the output results of the information knowledge data corresponding to different label identifiers of the software project schedule risk prediction model are used to determine the schedule risk of the software project with higher accuracy.
[0118] In the above embodiment, 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 super entropy corresponding to the target information knowledge data satisfy:
[0123]
[0124]
[0125] In addition, based on the above embodiment, the F score of each input feature can be calculated by ANOVA, and the F score is defined as the ratio of the inter-class variance to the intra-class variance of the software project schedule risk value of different levels. The F score is used in the next step to find the input feature information that can best predict the software project schedule risk value.
[0126] In addition, after obtaining the ANOVA feature information, the obtained ANOVA feature information is included in the super-aligned data set (the super-aligned data set 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) input features selected by ANOVA. 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 average individual matrix mapping of all training objects into the target common representation space. T and R are calculated iteratively using PyMVPA software. The generalization performance of the model is evaluated using the leave-one-out cross-validation method (LOOCV). For each cross-validation layer, m features are selected. For each cross-validation layer, the orthogonal solution matrix R is determined, which is calculated only with the training set data. The same matrix R is used to map the training data and the test data to the same representation space, thereby avoiding data leakage during cross-validation.
[0130] The software project schedule risk prediction method provided by the disclosed embodiment first processes the initial data of the software project to obtain the 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, constructs the information knowledge graph of the software project, wherein the information knowledge graph includes multiple information knowledge data; and selects the target information knowledge data from the information knowledge graph of the software project, wherein the target information knowledge data is the information knowledge data that meets the preset risk value; finally, according to the target information knowledge data, determines the schedule risk of the software project. First, the information knowledge graph of the software project is constructed by the target data of the software project, and the information knowledge graph of the software project fits the actual situation of the software project, ensuring that the target information knowledge data subsequently determined to be input into the software project schedule risk prediction model is more in line with the actual situation of the software project, and then by selecting the target information knowledge data that meets the preset risk domain value from the information knowledge graph of the software project as the input of the software project schedule risk prediction model, the accuracy of the prediction result of the software project schedule risk prediction model for the software project schedule risk can be improved.
[0131] Based on the above embodiments, the present disclosure also provides a software project schedule risk prediction device. Figure 2 is a schematic diagram of the structure of a software project schedule risk prediction device provided by an embodiment of the present disclosure, such as Figure 2 As shown, the software project schedule risk prediction device includes:
[0132] The target data acquisition module 210 is used to process the initial data of the software project to obtain the target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data;
[0133] An information knowledge graph construction module 220 is used to construct an information knowledge graph of a software project according to 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 screening module 230 is used to screen out 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 schedule risk determination module 240 is used to determine the schedule risk of the software project according to the target information knowledge data.
[0136] The software project schedule risk prediction device provided by the disclosed embodiment first processes the initial data of the software project to obtain the 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 multiple 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 that meets a preset risk value; finally, according to the target information knowledge data, the schedule 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, and the information knowledge graph of the software project fits the actual situation of the software project, ensuring that the target information knowledge data subsequently determined to be input into the software project schedule risk prediction model fits the actual situation of the software project more closely, and then, by screening out the target information knowledge data that meets the preset risk domain value from the information knowledge graph of the software project as the input of the software project schedule risk prediction model, the accuracy of the prediction result of the software project schedule risk prediction model on the software project schedule risk can be improved.
[0137] In a specific implementation manner, the data processing of the initial data of the software project to obtain the target data corresponding to the software project includes:
[0138] Performing keyword tagging on the initial data of the software project and extracting the tagged keyword data;
[0139] The keyword data is converted into a data format to obtain target data that satisfies the format of the information knowledge graph.
[0140] In a specific implementation, constructing 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] According to the metadata of the software project, an information knowledge graph of the software project is constructed.
[0143] In a specific implementation, constructing 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] The software project information ontology is matched to obtain an information knowledge graph of the software project.
[0146] In a specific implementation, the step of filtering out target information knowledge data from the information knowledge graph of the software project includes:
[0147] Obtaining the relevance of each piece of information knowledge data to the project progress and the impact value of each piece of information knowledge data on the project progress;
[0148] Determining the risk value of each piece of information knowledge data according to 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;
[0149] According to the risk value of each of the information knowledge data, the information knowledge data that meets the preset risk value is screened as the target information knowledge data.
[0150] In a specific implementation manner, determining the schedule risk of the software project according to the target information knowledge data includes:
[0151] Inputting the target information knowledge data into a software project schedule risk prediction model to obtain a mean, variance, entropy and super entropy value output by the software project schedule risk prediction model;
[0152] The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy values.
[0153] In a specific implementation, the inputting of the target information knowledge data into the software project schedule risk prediction model to obtain the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model includes:
[0154] Classifying the target information knowledge data according to the label identification of the target information knowledge data;
[0155] Inputting the target information knowledge data corresponding to the same tag identification 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 identification;
[0156] Determining the schedule risk of the software project according to the mean, variance, entropy and super entropy value includes:
[0157] The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model under different label identifications.
[0158] In a specific implementation, the software project schedule 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.
[0159] The present application also provides a computer device. Figure 3 , Figure 3 This is a basic structural block diagram of the computer device in this embodiment.
[0160] The computer device includes a memory 510 and a processor 520 that are connected to each other through a system bus. It should be noted that the figure only shows a computer device with components 510-520, but it should be understood that it is not required to implement all the components shown, and more or fewer components can be implemented instead. Among them, those skilled in the art can understand that the computer device here is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable gate arrays (Field-Programmable Gate Array, FPGA), digital processors (Digital Signal Processor, DSP), embedded devices, etc.
[0161] Computer devices can be computing devices such as desktop computers, notebooks, PDAs, and cloud servers. Computer devices can interact with users through keyboards, mice, remote controls, touch pads, or voice control devices.
[0162] The memory 510 includes at least one type of readable storage medium, and the readable storage medium includes a non-volatile memory or a volatile memory, such as a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc., and the RAM may include a static RAM or a dynamic RAM. In some embodiments, the memory 510 may be an internal storage unit of a computer device, such as a hard disk or a memory of the computer device. In other embodiments, the memory 510 may also be an external storage device of a computer device, such as a plug-in hard disk, a smart memory card (SMC), a secure digital (SD) card, or a flash card (Flash Card), etc., equipped on the computer device. Of course, the memory 510 may also include both an internal storage unit of the computer device and an external storage device thereof. In this embodiment, the memory 510 is generally used to store an operating system and various application software installed on the computer device, such as the program code of the above method, etc. In addition, the memory 510 may also be used to temporarily store various data that have been output or are to 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, the program code includes computer operation instructions, and the processor 520 is used to execute the program codes or instructions stored in the memory 510 or process data, such as running the program code of the above method.
[0164] In this article, the bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. 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 used in the figure, but it does not mean that there is only one bus or one type of bus.
[0165] Another embodiment of the present application also provides a computer-readable medium, which may be a computer-readable signal medium or a computer-readable medium. A processor in a computer reads a computer-readable program code stored in the computer-readable medium, so that the processor can execute the functional actions specified in each step or a combination of steps in the above method; and generate a device for implementing the functional actions specified in each block or a combination of blocks in the block diagram.
[0166] Computer-readable media include but are not limited to electronic, magnetic, optical, electromagnetic, infrared memory or semiconductor systems, devices or apparatuses, or any appropriate combination of the foregoing, the memory is used to store program codes or instructions, the program codes include computer operating instructions, and the processor is used to execute the program codes or instructions of the above methods stored in the memory.
[0167] For the definitions of memory and processor, please refer to the description of the aforementioned computer device embodiment and will not be repeated here.
[0168] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0169] Each functional unit or module in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0170] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each embodiment method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program code.
[0171] Unless the context clearly indicates otherwise, the singular form of the words used herein and in the appended claims includes the plural and vice versa. Thus, when referring to the singular, the plural form of the corresponding term is generally included. Similarly, the words "comprise" and "include" are to be interpreted as inclusive rather than exclusive. Likewise, the terms "include" and "or" should be interpreted as inclusive unless such interpretation is expressly prohibited herein. Where the term "example" is used herein, particularly when it is located after a group of terms, the "example" is merely exemplary and illustrative and should not be considered exclusive or comprehensive.
[0172] Further aspects and scopes of adaptability become apparent from the description provided herein. It should be understood that various aspects of the present application can be implemented individually or in combination with one or more other aspects. It should also be understood that the description and specific embodiments herein are intended for purposes of illustration only and are not intended to limit the scope of the present application.
[0173] Several embodiments of the present disclosure are described in detail above, 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 attached claims.
Claims
1. A software project schedule risk prediction method, characterized in that: include: Performing data processing on 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; According to the target data corresponding to the software project, construct an information knowledge graph of 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; The schedule risk of the software project is determined according to the target information knowledge data.
2. The method according to claim 1, characterized in that: The processing of the initial data of the software project to obtain the 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 satisfies 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 according to the target data corresponding to the software project includes: 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; 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 according to 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, characterized in that The step of screening out target information knowledge data from the information knowledge graph of the software project includes: Obtaining the relevance of each piece of information knowledge data to 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 according to 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 that meets the preset risk value is screened as the target information knowledge data.
6. The method according to claim 1, characterized in that 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 schedule risk prediction model to obtain a mean, variance, entropy and super entropy value output by the software project schedule risk prediction model; The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy values.
7. The method according to claim 6, characterized in that The step of inputting the target information knowledge data into the software project schedule risk prediction model to obtain the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model 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 identification 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 identification; Determining the schedule risk of the software project according to the mean, variance, entropy and super entropy value includes: The schedule risk of the software project is determined according to the mean, variance, entropy and super entropy value output by the software project schedule risk prediction model under different label identifications.
8. The method according to claim 6 or 7, characterized in that: 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.
9. A software project schedule risk prediction device, characterized in that: include: A target data acquisition module, used to process the initial data of the software project to obtain the target data corresponding to the software project, wherein the initial data includes unstructured software project data and structured software project data; An information knowledge graph construction module, used to construct 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; A target information knowledge data screening module, used 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; The schedule risk determination module is used to determine the schedule risk of the software project according to the target information knowledge data.
10. 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 8.
Citation Information
Patent Citations
Enterprise knowledge graph optimization method and system, electronic equipment and storage medium
CN115269871A
Variable project management method, system, equipment and medium
CN117333124A
Quality risk management method and system for building decoration project
CN118536853A
Cited By
Big-data-based dynamic optimization method for project management
WO2026207978A1