Software maintenance difficulty assessment method, device, equipment and storage medium

By obtaining the code maintenance information of the target software, identifying update functions and new function codes, and calculating complex levels and architecture levels, the subjectivity problem of software maintenance difficulty assessment is solved, and scientific operation and maintenance task allocation is achieved.

CN115202710BActive Publication Date: 2025-08-15PING AN BANK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210731844.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-25
Publication Date
2025-08-15
Estimated Expiration
2042-06-25

AI Technical Summary

Technical Problem

In the prior art, the software maintenance difficulty evaluation method is highly subjective and cannot effectively feedback the real maintenance difficulty of the software, resulting in a lack of valuable basis for operation and maintenance task allocation.

Method used

By obtaining the code maintenance information of the target software, identifying the update function code and new function code, calculating the update complexity level and architecture level, and then determining the maintenance workload and software maintenance difficulty level.

Benefits of technology

It realizes quantitative assessment of the difficulty of software maintenance, provides valuable data feedback, and supports scientific operation and maintenance task allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115202710B_ABST
    Figure CN115202710B_ABST
Patent Text Reader

Abstract

The present application provides a software maintenance difficulty assessment method, apparatus, device, and storage medium. The method includes: obtaining code maintenance information of target software; determining the update complexity level of the target software and the architecture level corresponding to the update complexity level based on the updated function code and newly added function code in the code maintenance information; determining the maintenance workload of the target software based on the update complexity level and the architecture level, and calculating the software maintenance difficulty level corresponding to the maintenance workload. This method effectively determines the maintenance workload of the target software based on the code maintenance information, and effectively determines the software maintenance difficulty of the target software and similar software, thereby providing valuable data feedback for subsequent maintenance task allocation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, apparatus, device and storage medium for evaluating the difficulty of software maintenance. Background Art

[0002] At present, with the development of Internet technology, many enterprises have realized information operation by developing various software. This has made the current software more and more diversified, resulting in increased difficulty in software maintenance. The existing methods for evaluating software maintenance difficulty are all judged by operation and maintenance personnel. The judgment results are highly subjective and cannot effectively reflect the actual maintenance difficulty of the software. It is difficult to provide valuable feedback basis for operation and maintenance task allocation, which is not conducive to software maintenance and operation. Summary of the Invention

[0003] The embodiments of the present application provide a software maintenance difficulty assessment method, apparatus, device and storage medium, aiming to solve the technical problem in the prior art that software maintenance difficulty assessment is highly subjective and cannot effectively reflect the actual maintenance difficulty of the software.

[0004] In one aspect, an embodiment of the present application provides a method for evaluating software maintenance difficulty, the method comprising the following steps:

[0005] Obtain code maintenance information of the target software;

[0006] Determining an update complexity level of the target software and an architecture level corresponding to the update complexity level according to the update function code and the newly added function code in the code maintenance information;

[0007] The maintenance workload of the target software is determined according to the update complexity level and the architecture level, and the software maintenance difficulty level corresponding to the maintenance workload is calculated.

[0008] In one possible implementation of the present application, determining the update complexity level of the target software and the architecture level corresponding to the update complexity level based on the updated function code and the newly added function code in the code maintenance information includes:

[0009] Identifying the code maintenance information and determining the updated function code and the newly added function code of the target software;

[0010] Acquire each update attribute field in the update function code and each update attribute field in the newly added function code;

[0011] Calculating the field complexity of each update attribute field in the update function code and the field complexity of each update attribute field in the newly added function code to obtain an update complexity level of the target software;

[0012] The number of field updates of each of the update attribute fields is obtained, and the architecture level is determined according to the number of field updates and the update complexity level.

[0013] In one possible implementation of the present application, obtaining the update attribute field of the updated function code and each update attribute field of the newly added function code, calculating the field complexity of each update attribute field, and obtaining the update complexity level of the target software includes:

[0014] Obtaining each update attribute field in the update function code and the update attribute field in the newly added function code;

[0015] Extracting each atomic variable of the updated attribute field in the updated function code and each atomic variable of the updated attribute field in the newly added function code, and calculating the complexity value corresponding to each atomic variable;

[0016] Summarizing the complexity values of the atomic variables corresponding to the update attribute field, and calculating the field complexity of the update attribute field;

[0017] The sum of the field complexity of each of the update attribute fields is calculated, and the update complexity level of the target software is evaluated according to the sum of the field complexity.

[0018] In a possible implementation of the present application, obtaining the number of field updates for each of the updated attribute fields and determining the architecture level according to the number of field updates and the update complexity level includes:

[0019] Counting the number of field updates of the update field, and obtaining a preset operation and maintenance indicator corresponding to the number of field updates;

[0020] Calculating a first score of the preset operation and maintenance indicator and a second score of the update complexity level, performing weighted calculation on the first score and the second score to obtain an architecture update evaluation value of the target software;

[0021] The architecture update evaluation value is compared with a preset architecture threshold to determine an architecture complexity level corresponding to the architecture update evaluation value.

[0022] In a possible implementation of the present application, obtaining code maintenance information of the target software includes:

[0023] Read the historical version code and current version code of the target software to be tested;

[0024] Comparing the historical version code with the current version code to obtain the updated function code and the newly added function code of the target software;

[0025] The updated function code and the newly added function code are aggregated to obtain code maintenance information of the target software.

[0026] In a possible implementation of the present application, determining the maintenance workload of the target software according to the update complexity level and the architecture level, and calculating the software maintenance difficulty level corresponding to the maintenance workload includes:

[0027] Obtaining the update complexity level and the architecture level, and calculating the maintenance workload of the target software;

[0028] An update work duration corresponding to the maintenance workload is obtained, and a software maintenance difficulty level of the target software is evaluated based on the update work duration and the maintenance workload.

[0029] In a possible implementation of the present application, after determining the maintenance workload of the target software according to the update complexity level and the architecture level, and calculating the software maintenance difficulty level corresponding to the maintenance workload, the method further includes:

[0030] Obtaining a software type of the software to be maintained in the software maintenance allocation request, determining a corresponding target software according to the software type, and obtaining a software maintenance difficulty level of the target software;

[0031] The maintenance workload of the software to be maintained is obtained, and maintenance tasks are allocated to the maintenance workload according to the software maintenance difficulty level.

[0032] On the other hand, the present application provides a software maintenance difficulty assessment device, the software maintenance difficulty determination device comprising:

[0033] a code identification module configured to obtain code maintenance information of the target software;

[0034] an architecture adjustment module configured to determine an update complexity level of the target software and an architecture level corresponding to the update complexity level based on the updated function code and the newly added function code in the code maintenance information;

[0035] The level determination module is configured to determine the maintenance workload of the target software according to the update complexity level and the architecture level, and calculate the software maintenance difficulty level corresponding to the maintenance workload.

[0036] On the other hand, the present application further provides a software maintenance difficulty assessment device, the software maintenance difficulty assessment device comprising:

[0037] one or more processors;

[0038] Memory; and

[0039] One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the processor to implement the software maintenance difficulty assessment method.

[0040] On the other hand, the present application also provides a computer-readable storage medium having a computer program stored thereon, and the computer program is loaded by a processor to execute the steps in the software maintenance difficulty assessment method.

[0041] In this application, the code maintenance information of the current software version and the historical software version of the target software is obtained; the code maintenance information is parsed to obtain the updated function code and the newly added function code in the code maintenance information; the update complexity level of the target software is determined based on the updated function code and the newly added function code in the code maintenance information, and the architecture level corresponding to the update complexity level is determined based on the update complexity level; after obtaining the update complexity level and the corresponding architecture level, the maintenance workload of the target software is determined based on the update complexity level and the architecture level, and the software maintenance difficulty of the target software corresponding to the maintenance workload is calculated. This effectively determines the maintenance workload of the target software based on the code maintenance information, and effectively determines the software maintenance difficulty of the target software and similar software, thereby providing valuable data feedback basis for subsequent maintenance task allocation. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0043] Figure 1 A schematic diagram of a scenario of a method for evaluating software maintenance difficulty according to an embodiment of the present application;

[0044] Figure 2 This is a flow chart of an embodiment of a method for evaluating software maintenance difficulty in an embodiment of the present application;

[0045] Figure 3 A flowchart of an embodiment of the software maintenance difficulty assessment method provided in the present application for determining the field complexity of an update attribute field and obtaining a target software update complexity level;

[0046] Figure 4 A flowchart of an embodiment of determining an architecture level in a method for assessing software maintenance difficulty provided in an embodiment of the present application;

[0047] Figure 5 A schematic diagram of a device for evaluating software maintenance difficulty provided in an embodiment of the present application;

[0048] Figure 6 This is a structural diagram of an embodiment of the software maintenance difficulty assessment device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present invention.

[0050] In the description of the present invention, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present invention. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the said features. In the description of the present invention, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.

[0051] In this application, the word "exemplary" is used to mean "serving as an example, illustration, or illustration." Any embodiment described in this application as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. The following description is given to enable any person skilled in the art to make and use the invention. In the following description, details are listed for the purpose of explanation. It should be understood that one of ordinary skill in the art will recognize that the invention can be practiced without these specific details. In other instances, well-known structures and processes are not described in detail to avoid obscuring the description of the invention with unnecessary detail. Therefore, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.

[0052] At present, with the development of Internet technology, many enterprises have realized information operation by developing various software. This has made the current software more and more diversified, resulting in increased difficulty in software maintenance. The existing methods for evaluating software maintenance difficulty are all judged by operation and maintenance personnel. The judgment results are highly subjective and cannot effectively reflect the actual maintenance difficulty of the software. It is difficult to provide valuable feedback basis for operation and maintenance task allocation, which is not conducive to software maintenance and operation.

[0053] Based on this, the present application proposes a software maintenance difficulty assessment method, apparatus, device and computer-readable storage medium to solve the technical problem that software maintenance difficulty assessment in the prior art is highly subjective and cannot effectively reflect the actual maintenance difficulty of the software.

[0054] The software maintenance difficulty assessment method in an embodiment of the present invention is applied to a software maintenance difficulty assessment device, and the software maintenance difficulty assessment device is arranged in a software maintenance difficulty assessment device, and the software maintenance difficulty assessment device is provided with one or more processors, memories, and one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the processor to implement the software maintenance difficulty assessment method; wherein, the software maintenance difficulty assessment device can be an intelligent terminal, such as a mobile phone, a tablet computer, a smart TV, a network device, and a smart computer, etc.; optionally, the software maintenance difficulty assessment device can also be a server, or a service cluster composed of multiple servers.

[0055] like Figure 1 As shown, Figure 1 This is a scenario diagram of the software maintenance difficulty assessment method in an embodiment of the present application. The software maintenance difficulty assessment scenario in the embodiment of the present invention includes a software maintenance difficulty assessment device 100 (a software maintenance difficulty assessment device is integrated in the software maintenance difficulty assessment device 100), and a computer-readable storage medium corresponding to the software maintenance difficulty assessment method is running in the software maintenance difficulty assessment device 100 to execute the steps of the software maintenance difficulty assessment method.

[0056] It is understandable that Figure 1 The software maintenance difficulty assessment device in the software maintenance difficulty assessment method scenario shown, or the devices included in the software maintenance difficulty assessment device, does not constitute a limitation to the embodiments of the present invention. That is, the number of devices and types of devices of the software maintenance difficulty assessment device included in the software maintenance difficulty assessment method scenario, or the number and types of devices included in each device, do not affect the overall implementation of the technical solution in the embodiments of the present invention, and can all be regarded as equivalent replacements or derivatives of the technical solution claimed to be protected in the embodiments of the present invention.

[0057] The software maintenance difficulty assessment device 100 in the embodiment of the present invention is mainly used to: obtain code maintenance information of the target software;

[0058] Determining an update complexity level of the target software and an architecture level corresponding to the update complexity level according to the update function code and the newly added function code in the code maintenance information;

[0059] The maintenance workload of the target software is determined according to the update complexity level and the architecture level, and the software maintenance difficulty level corresponding to the maintenance workload is calculated.

[0060] The software maintenance difficulty assessment device 100 in the embodiment of the present invention can be an independent software maintenance difficulty assessment device, such as a smart terminal such as a mobile phone, tablet computer, smart TV, network equipment, server and smart computer, or it can be a software maintenance difficulty assessment network or software maintenance difficulty assessment cluster composed of multiple software maintenance difficulty assessment devices.

[0061] The embodiments of the present application provide a software maintenance difficulty assessment method, apparatus, device, and computer-readable storage medium, which are described in detail below.

[0062] It will be understood by those skilled in the art that Figure 1 The application environment shown in is only one of the application scenarios related to the present application solution and does not constitute a limitation on the application scenario of the present application solution. Other application environments may also include Figure 1 More or fewer software maintenance difficulty assessment devices shown, or software maintenance difficulty assessment network connection relationships, such as Figure 1 Only one software maintenance difficulty assessment device is shown. It can be understood that the scenario of the software maintenance difficulty assessment method can also include one or more software maintenance difficulty assessment devices, which are not specifically limited here; the software maintenance difficulty assessment device 100 can also include a memory for storing code maintenance information and other data.

[0063] It should be noted that Figure 1 The scenario diagram of the software maintenance difficulty assessment method shown is only an example. The scenario of the software maintenance difficulty assessment method described in the embodiment of the present invention is to more clearly illustrate the technical solution of the embodiment of the present invention, and does not constitute a limitation on the technical solution provided by the embodiment of the present invention.

[0064] Based on the scenario of the above-mentioned software maintenance difficulty assessment method, various embodiments of the software maintenance difficulty assessment method disclosed in the present invention are proposed.

[0065] like Figure 2 As shown, Figure 2 This is a flow chart of an embodiment of a method for evaluating software maintenance difficulty in an embodiment of the present application. The image processing method includes the following steps 201 to 203:

[0066] 201. Obtain code maintenance information of the target software;

[0067] The software maintenance difficulty assessment method in this embodiment is applied to a software maintenance difficulty assessment device. The type and quantity of the software maintenance difficulty assessment device are not specifically limited. That is, the software maintenance difficulty assessment device can be one or more intelligent terminals or servers. In a specific embodiment, the software maintenance difficulty assessment device is an intelligent computer.

[0068] The software maintenance difficulty assessment device is configured to obtain code maintenance information of the target software and determine the target software and the software maintenance difficulty of the target software based on the code maintenance information, thereby providing an effective basis for the subsequent allocation of software operation and maintenance tasks. Specifically, during operation, the software maintenance difficulty assessment device receives a software maintenance difficulty assessment request, wherein the software maintenance difficulty assessment request can be actively triggered by a user. For example, the user is a software maintenance staff member and clicks a software maintenance difficulty assessment button pre-set on the software maintenance difficulty assessment device to actively trigger the software maintenance difficulty assessment device to generate a software maintenance difficulty assessment request for the target software. In addition, the software maintenance difficulty assessment request can also be automatically triggered by the software maintenance difficulty assessment device. For example, the software maintenance difficulty assessment device pre-sets a maintenance difficulty determination process and automatically confirms the maintenance difficulty of the target software within a preset time period, automatically triggering the software maintenance difficulty assessment request. The software maintenance difficulty assessment request carries the update code of each version of the target software and is an operational instruction requesting the software maintenance difficulty assessment device to determine the maintenance difficulty of the target software and similar software based on the version update code.

[0069] After receiving a software maintenance difficulty assessment request, the software maintenance difficulty assessment device obtains the target software to be tested, as indicated by the software maintenance difficulty assessment request, and obtains code maintenance information for the target software. Specifically, after locating the target software, the software maintenance difficulty assessment device reads the historical version code and current version code of the target software to be tested. Optionally, the historical version code represents one or more historical versions of the target software.

[0070] After obtaining the historical version code and current version code of the target software, the software maintenance difficulty assessment device compares the historical version code and the current version code, obtains the difference code between the historical version code and the current version code, and parses the difference code to obtain the updated function code and the new function code of the current version of the target software, wherein the updated function code is a code that represents the update of the original functional architecture of the current version of the target software; the new function code is a code that represents the new functional architecture of the current version of the target software.

[0071] After obtaining the updated function code and the newly added function code of the target software, the software maintenance difficulty assessment device summarizes the obtained updated function code and the newly added function code to obtain the code maintenance information of the current version of the target software, and stores the code maintenance information of the target software in a preset code maintenance information library.

[0072] After acquiring the code maintenance information of the target software, the software maintenance difficulty assessment device assesses the update complexity level of the target software and the architecture level corresponding to the update complexity level according to the code maintenance information.

[0073] 202. Determine an update complexity level of the target software and an architecture level corresponding to the update complexity level based on the update function code and the newly added function code in the code maintenance information;

[0074] After obtaining the target software's code maintenance information, the software maintenance difficulty assessment device identifies the target software's code maintenance information, determines the target software's updated function codes and / or newly added function codes, and assesses the target software's update complexity level based on the updated function codes and / or newly added function codes.

[0075] Specifically, the software maintenance difficulty assessment device obtains each update attribute field of the updated function code and each update attribute field of the newly added function code, and determines the field complexity of each update attribute field in the code maintenance information, where the field complexity represents the complexity of the processing module associated with the update attribute field. After obtaining the field complexity of each update attribute field in the code maintenance information, the software maintenance difficulty assessment device summarizes the field complexity of each update attribute field to determine the update complexity level of each architecture of the target software, where the update complexity level is a measurement indicator that represents the maintenance workload of the architecture update.

[0076] After obtaining the target software's update complexity level, the software maintenance difficulty assessment device obtains the number of field updates for each update attribute field and determines the target software's architecture level based on this number of field updates and the update complexity level of each update attribute field. The architecture level is a metric that measures the degree of architectural adjustment and quality of the target software's current version update.

[0077] 203. Determine the maintenance workload of the target software according to the update complexity level and the architecture level, and calculate the software maintenance difficulty level corresponding to the maintenance workload.

[0078] After obtaining the update complexity level and architecture level of the target software, the software maintenance difficulty assessment device determines the maintenance workload of the target software according to the update complexity level and architecture level, and calculates the software maintenance difficulty level corresponding to the maintenance workload.

[0079] Specifically, the software maintenance difficulty assessment device pre-sets a workload mapping relationship corresponding to the update complexity level and architecture level. After obtaining the update complexity level and architecture level of the target software, the software maintenance difficulty assessment device extracts the workload mapping relationship corresponding to the update complexity level and architecture level, and calculates and assesses the maintenance workload of the target software based on the workload mapping relationship. Optionally, the software maintenance difficulty assessment device can also obtain the workload mapping relationship corresponding to the update complexity level and architecture level based on neural network training.

[0080] After obtaining the maintenance workload of the target software, the software maintenance difficulty assessment device further accesses the update time database to obtain the update work time corresponding to the maintenance workload, and assesses the software maintenance difficulty level of the target software based on the maintenance workload and the update work time.

[0081] After determining the software maintenance difficulty level of the target software, the software maintenance difficulty assessment device responds to the software maintenance allocation request, obtains the software to be maintained pointed to by the software maintenance allocation request, determines the software type of the software to be maintained, determines the target software corresponding to the same software type based on the software type, obtains the software maintenance difficulty level of the target software, and thus determines the software maintenance difficulty level of the software to be maintained.

[0082] After obtaining the software maintenance difficulty level of the software to be maintained, the software maintenance difficulty assessment device obtains the maintenance work items of the software to be maintained, and distinguishes the maintenance difficulty of the maintenance work items according to the software maintenance difficulty level, and allocates maintenance tasks to the software to be maintained according to the maintenance difficulty.

[0083] In this embodiment, the software maintenance difficulty assessment device obtains code maintenance information for the current and historical software versions of the target software; parses the code maintenance information to obtain the updated function codes and newly added function codes in the code maintenance information; determines the update complexity level of the target software based on the updated function codes and newly added function codes in the code maintenance information; and determines the architecture level corresponding to the update complexity level based on the update complexity level; after obtaining the update complexity level and the corresponding architecture level, determines the maintenance workload of the target software based on the update complexity level and the architecture level, and calculates the software maintenance difficulty of the target software corresponding to the maintenance workload. This effectively determines the maintenance workload of the target software based on the code maintenance information, and effectively determines the software maintenance difficulty of the target software and similar software, thereby providing valuable data feedback for subsequent maintenance task allocation.

[0084] like Figure 3 As shown, Figure 3A flowchart of an embodiment of the software maintenance difficulty assessment method provided in the present application is provided for determining the field complexity of the update attribute field and obtaining the target software update complexity level.

[0085] Based on the above embodiment, the software maintenance difficulty assessment device in the embodiment of the present application obtains each atomic variable associated with the update attribute field and calculates the complexity value corresponding to the atomic variable, thereby obtaining the field complexity of the update attribute field. Specifically, the process includes steps 301 and 304:

[0086] 301. Acquire each update attribute field in the update function code and the update attribute field in the newly added function code;

[0087] 302. Extract each atomic variable of the updated attribute field in the updated function code and each atomic variable of the updated attribute field in the newly added function code, and calculate the complexity value corresponding to each atomic variable;

[0088] 303. Summarize the complexity values of the atomic variables corresponding to the update attribute field and calculate the field complexity of the update attribute field;

[0089] 304. Calculate the sum of the field complexities of the update attribute fields, and obtain the update complexity level of the target software according to the sum of the field complexities.

[0090] In this embodiment, after obtaining the code maintenance information of the target software, the software maintenance difficulty assessment device obtains the updated function code and the newly added function code of the code maintenance information. After obtaining the updated function code and the newly added function code, the device further obtains the updated attribute field in the updated function code and the updated attribute field in the newly added function code.

[0091] After obtaining the update attribute field of the code maintenance information, extract each atomic variable associated with the update attribute field and calculate the complexity value corresponding to the atomic variable. Optionally, the complexity value represents the complexity of the various attributes in the update attribute field. Different atomic variables are connected to different data and processing modules, so the complexity value corresponding to each atomic variable is different.

[0092] After obtaining the updated attribute field, the software maintenance difficulty assessment device determines the atomic variable according to the number of processing modules connected to the updated attribute field, and calculates the complexity value corresponding to the atomic variable.

[0093] After calculating the complexity value corresponding to each atomic variable in the update attribute field, the software maintenance difficulty assessment device summarizes the complexity values of each atomic variable corresponding to the update attribute field, thereby calculating the field complexity of the update attribute field.

[0094] After calculating the field complexity of each update attribute field, the software maintenance difficulty assessment device accumulates the update complexity sum of the target software, where the update complexity sum is the sum of the update complexity of all update attribute fields of the target software updated this time; the software maintenance difficulty assessment device compares the update complexity sum with the preset complexity threshold to determine the update complexity level of the target software.

[0095] Optionally, in a specific embodiment, the target software is financial office software, and the update attribute fields of the financial office software include a payment order field, a statistical refund field, and a cash flow field. The atomic variables in the payment order field include fields such as the order number, the paying user identifier, the receiving user identifier, the amount identifier, and the payment channel. The paying user, receiving user, and amount fields are related to the amount input by the user and do not have corresponding processing modules. Therefore, the complexity values corresponding to the paying user, receiving user, and amount attributes are 0. The order number attribute requires a processing module to process, so the complexity value of the order number attribute is 1. The payment channel attribute corresponds to three payment channels, so the payment channel attribute requires three processing modules to process, so the complexity value is 1. Therefore, the field complexity of the payment order field is 4. The software maintenance difficulty assessment device further obtains the field complexity of the statistical refund field and the cash flow field to determine the update complexity level of the financial office software.

[0096] In this embodiment, the software maintenance difficulty assessment device obtains each update attribute field in the update function code and the update attribute field in the newly added function code; extracts each atomic variable associated with the update attribute field and calculates the complexity value corresponding to the atomic variable; summarizes the complexity value of each atomic variable corresponding to the update attribute field to calculate the field complexity of the update attribute field; calculates the sum of the field complexity of each update attribute field, and obtains the update complexity level of the target software based on the field complexity sum. This achieves accurate quantitative assessment of the update complexity of the target software.

[0097] like Figure 4 As shown, Figure 4 A flowchart of an embodiment of determining the architecture level in the software maintenance difficulty assessment method provided in an embodiment of the present application.

[0098] Based on the above embodiment, the software maintenance difficulty assessment device in the embodiment of the present application obtains the number of field updates and the preset operation and maintenance indicators to calculate the architecture update assessment value of the target software, and determines the architecture level of the target software update according to the architecture update assessment value. Specifically, the process includes steps 401 and 403:

[0099] 401. Count the number of field updates of the update field, and obtain a preset operation and maintenance indicator corresponding to the number of field updates;

[0100] 402. Calculate a first score of the preset operation and maintenance indicator and a second score of the update complexity level, perform weighted calculation on the first score and the second score, and obtain an architecture update evaluation value of the target software;

[0101] 403. Compare the architecture update evaluation value with a preset architecture threshold to determine an architecture level corresponding to the architecture update evaluation value.

[0102] In this embodiment, the software maintenance difficulty assessment device counts the number of field updates of the updated attribute field, and obtains the preset operation and maintenance indicators corresponding to the number of field updates and the updated attribute field, wherein the preset operation and maintenance indicators include objective indicator data such as the update budget, man-months consumed, number of update errors, and operation and maintenance costs of the target software.

[0103] After obtaining the preset operation and maintenance indicators, the software maintenance difficulty assessment device scores the preset operation and maintenance indicators according to the preset indicator weights to obtain a first score for the preset operation and maintenance indicators; and obtains the update complexity level of the target software and the preset scoring rules corresponding to the update complexity level, thereby obtaining a second score corresponding to the update complexity level, and performs a weighted operation on the obtained first score and second score to obtain an architecture update assessment value of the target software, wherein the architecture update assessment value is an evaluation score that characterizes the quality and workload of the architecture update of the target software.

[0104] Specifically, the software maintenance difficulty assessment device presets multiple architecture thresholds, which serve as evaluation thresholds for differentiating the quality and workload of architecture updates. After obtaining an architecture update assessment value, the software maintenance difficulty assessment device compares the architecture update assessment value with the preset architecture thresholds to determine the architecture update scoring interval corresponding to the architecture update assessment value, and thus determines the architecture level corresponding to the architecture update assessment value.

[0105] In this embodiment, the software maintenance difficulty assessment device counts the number of field updates in the update attribute field and obtains a preset operation and maintenance indicator corresponding to the number of field updates; calculates a first score for the preset operation and maintenance indicator and a second score for the update complexity level, performs a weighted calculation on the first and second scores to obtain an architecture update assessment value for the target software; and compares the architecture update assessment value with a preset architecture threshold to determine the architecture level corresponding to the architecture update assessment value. This effectively measures the quality and workload of architecture updates for the target software.

[0106] In order to better implement the software maintenance difficulty assessment method in the embodiment of the present application, based on the software maintenance difficulty assessment method, the embodiment of the present application also provides a software maintenance difficulty assessment device 500, such as Figure 5 As shown, Figure 5 This is a schematic diagram of a software maintenance difficulty assessment device provided in an embodiment of the present application. The software maintenance difficulty assessment device 500 includes:

[0107] The code identification module 501 is configured to obtain code maintenance information of the target software;

[0108] The architecture adjustment module 502 is configured to determine the update complexity level of the target software and the architecture level corresponding to the update complexity level according to the updated function code and the newly added function code in the code maintenance information;

[0109] The level determination module 503 is configured to determine the maintenance workload of the target software according to the update complexity level and the architecture level, and calculate the software maintenance difficulty level corresponding to the maintenance workload.

[0110] In some embodiments of the present application, the software maintenance difficulty assessment device determines the update complexity level of the target software and the architecture level corresponding to the update complexity level based on the updated function code and the newly added function code in the code maintenance information, including:

[0111] Identifying the code maintenance information and determining the updated function code and the newly added function code of the target software;

[0112] Acquire each update attribute field in the update function code and each update attribute field in the newly added function code;

[0113] Calculating the field complexity of each update attribute field in the update function code and the field complexity of each update attribute field in the newly added function code to obtain an update complexity level of the target software;

[0114] The number of field updates of each of the update attribute fields is obtained, and the architecture level is determined according to the number of field updates and the update complexity level.

[0115] In some embodiments of the present application, the software maintenance difficulty assessment apparatus obtains the update attribute field of the updated function code and each update attribute field of the newly added function code, calculates the field complexity of each update attribute field, and obtains the update complexity level of the target software, including:

[0116] Obtaining each update attribute field in the update function code and the update attribute field in the newly added function code;

[0117] Extracting each atomic variable of the updated attribute field in the updated function code and each atomic variable of the updated attribute field in the newly added function code, and calculating the complexity value corresponding to each atomic variable;

[0118] Summarizing the complexity values of the atomic variables corresponding to the update attribute field, and calculating the field complexity of the update attribute field;

[0119] The sum of the field complexity of each of the update attribute fields is calculated, and the update complexity level of the target software is evaluated according to the sum of the field complexity.

[0120] In some embodiments of the present application, the software maintenance difficulty assessment apparatus obtains the number of field updates of each update attribute field, and determines the architecture level according to the number of field updates and the update complexity level, including:

[0121] Counting the number of field updates of the update field, and obtaining a preset operation and maintenance indicator corresponding to the number of field updates;

[0122] Calculating a first score of the preset operation and maintenance indicator and a second score of the update complexity level, performing weighted calculation on the first score and the second score to obtain an architecture update evaluation value of the target software;

[0123] The architecture update evaluation value is compared with a preset architecture threshold to determine an architecture complexity level corresponding to the architecture update evaluation value.

[0124] In some embodiments of the present application, the software maintenance difficulty assessment apparatus obtains code maintenance information of the target software, including:

[0125] Read the historical version code and current version code of the target software to be tested;

[0126] Comparing the historical version code with the current version code to obtain the updated function code and the newly added function code of the target software;

[0127] The updated function code and the newly added function code are aggregated to obtain code maintenance information of the target software.

[0128] In some embodiments of the present application, the software maintenance difficulty assessment device determines the maintenance workload of the target software according to the update complexity level and the architecture level, and calculates the software maintenance difficulty level corresponding to the maintenance workload, including:

[0129] Obtaining the update complexity level and the architecture level, and calculating the maintenance workload of the target software;

[0130] An update work duration corresponding to the maintenance workload is obtained, and a software maintenance difficulty level of the target software is evaluated based on the update work duration and the maintenance workload.

[0131] In some embodiments of the present application, the software maintenance difficulty assessment device determines the maintenance workload of the target software based on the update complexity level and the architecture level, and after calculating the software maintenance difficulty level corresponding to the maintenance workload, further includes:

[0132] Obtaining a software type of the software to be maintained in the software maintenance allocation request, determining a corresponding target software according to the software type, and obtaining a software maintenance difficulty level of the target software;

[0133] The maintenance workload of the software to be maintained is obtained, and maintenance tasks are allocated to the maintenance workload according to the software maintenance difficulty level.

[0134] In this embodiment, the software maintenance difficulty assessment device obtains code maintenance information for the current and historical software versions of the target software; parses the code maintenance information to obtain updated function codes and newly added function codes in the code maintenance information; determines the update complexity level of the target software based on the updated function codes and newly added function codes in the code maintenance information, and determines the architecture level corresponding to the update complexity level based on the update complexity level; after obtaining the update complexity level and the corresponding architecture level, determines the maintenance workload of the target software based on the update complexity level and the architecture level, and calculates the software maintenance difficulty of the target software corresponding to the maintenance workload. This effectively determines the maintenance workload of the target software based on the code maintenance information, and effectively determines the software maintenance difficulty of the target software and similar software, thereby providing valuable data feedback for subsequent maintenance task allocation.

[0135] The embodiment of the present invention also provides a software maintenance difficulty assessment device, such as Figure 6 As shown, Figure 6 This is a structural diagram of an embodiment of the software maintenance difficulty assessment device provided in an embodiment of the present application.

[0136] The software maintenance difficulty assessment device integrates any one of the software maintenance difficulty assessment devices provided by the embodiments of the present invention, and the software maintenance difficulty assessment device includes:

[0137] one or more processors;

[0138] Memory; and

[0139] One or more applications, wherein the one or more applications are stored in the memory and are configured so that the processor executes the steps of the software maintenance difficulty assessment method described in any of the above software maintenance difficulty assessment method embodiments.

[0140] Specifically, the software maintenance difficulty assessment device may include one or more processing core processors 601, one or more computer-readable storage media memories 602, a power supply 603, an input unit 604, and other components. Those skilled in the art will understand that Figure 6 The structure of the software maintenance difficulty assessment device shown in the figure does not constitute a limitation on the software maintenance difficulty assessment device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0141] Processor 601 is the control center of the software maintenance difficulty assessment device. It utilizes various interfaces and lines to connect the various components of the entire software maintenance difficulty assessment device. By running or executing software programs and / or modules stored in memory 602 and calling data stored in memory 602, it performs various functions of the software maintenance difficulty assessment device and processes data, thereby providing overall monitoring of the software maintenance difficulty assessment device. Optionally, processor 601 may include one or more processing cores; preferably, processor 601 may integrate an application processor and a modem processor, wherein the application processor primarily processes the operating system, user interface, and application programs, and the modem processor primarily processes wireless communications. It is understood that the modem processor may not be integrated into processor 601.

[0142] The memory 602 can be used to store software programs and modules. The processor 601 executes various functional applications and data processing by running the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created based on the use of the software maintenance difficulty assessment device, etc. In addition, the memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device. Accordingly, the memory 602 may also include a memory controller to provide the processor 601 with access to the memory 602.

[0143] The software maintenance difficulty assessment device also includes a power supply 603 for supplying power to various components. Preferably, the power supply 603 can be logically connected to the processor 601 via a power management system, thereby enabling the power management system to manage charging, discharging, and power consumption. The power supply 603 can also include one or more DC or AC power supplies, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and other arbitrary components.

[0144] The software maintenance difficulty assessment device may further include an input unit 604, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.

[0145] Although not shown, the software maintenance difficulty assessment device may further include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 601 in the software maintenance difficulty assessment device will load the executable files corresponding to one or more application processes into the memory 602 according to the following instructions, and the processor 601 will run the application stored in the memory 602 to implement various functions as follows:

[0146] Obtain code maintenance information of the target software;

[0147] Determining an update complexity level of the target software and an architecture level corresponding to the update complexity level according to the update function code and the newly added function code in the code maintenance information;

[0148] The maintenance workload of the target software is determined according to the update complexity level and the architecture level, and the software maintenance difficulty level corresponding to the maintenance workload is calculated.

[0149] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, please refer to the detailed description of other embodiments above and will not be repeated here.

[0150] In specific implementation, the above units or structures can be implemented as independent entities, or can be arbitrarily combined to implement as the same or several entities. The specific implementation of the above units or structures can refer to the previous method embodiments and will not be repeated here.

[0151] The specific implementation of the above operations can be found in the previous embodiments and will not be repeated here.

[0152] The above is a detailed introduction to a software maintenance difficulty assessment method provided in an embodiment of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A software maintenance difficulty assessment method, characterized in that: The software maintenance difficulty assessment method includes: Obtain code maintenance information of the target software; Determining the update complexity level of the target software and the architecture level corresponding to the update complexity level based on the update function code and the newly added function code in the code maintenance information, including: Identifying the code maintenance information and determining the updated function code and the newly added function code of the target software; Obtain each update attribute field in the update function code and each update attribute field in the newly added function code; calculate the field complexity of each update attribute field in the update function code and the field complexity of each update attribute field in the newly added function code to obtain the update complexity level of the target software, including: obtaining each update attribute field in the update function code and the update attribute field in the newly added function code; extracting each atomic variable of the update attribute field in the update function code and each atomic variable of the update attribute field in the newly added function code, and calculating the complexity value corresponding to each atomic variable; summing up the complexity values of each atomic variable corresponding to the update attribute field, and calculating the field complexity of the update attribute field; calculating the sum of the field complexity of each update attribute field, and evaluating the update complexity level of the target software according to the sum of the field complexity; Obtaining the number of field updates of each of the update attribute fields, and determining the architecture level according to the number of field updates and the update complexity level, including: counting the number of field updates of the update attribute fields, and obtaining a preset operation and maintenance indicator corresponding to the number of field updates; calculating a first score of the preset operation and maintenance indicator and a second score of the update complexity level, performing a weighted calculation on the first score and the second score to obtain an architecture update evaluation value of the target software; comparing the architecture update evaluation value with a preset architecture threshold to determine the architecture level corresponding to the architecture update evaluation value; The maintenance workload of the target software is determined according to the update complexity level and the architecture level, and the software maintenance difficulty level corresponding to the maintenance workload is calculated.

2. The software maintenance difficulty assessment method according to claim 1, wherein: The obtaining of code maintenance information of the target software includes: Read the historical version code and the current version code of the target software; Comparing the historical version code with the current version code to obtain the updated function code and the newly added function code of the target software; The updated function code and the newly added function code are aggregated to obtain code maintenance information of the target software.

3. The software maintenance difficulty assessment method according to claim 1, wherein: Determining the maintenance workload of the target software according to the update complexity level and the architecture level, and calculating the software maintenance difficulty level corresponding to the maintenance workload, includes: Obtaining the update complexity level and the architecture level, and calculating the maintenance workload of the target software; An update work duration corresponding to the maintenance workload is obtained, and a software maintenance difficulty level of the target software is evaluated based on the update work duration and the maintenance workload.

4. The software maintenance difficulty assessment method according to any one of claims 1 to 3, wherein: After determining the maintenance workload of the target software according to the update complexity level and the architecture level, and calculating the software maintenance difficulty level corresponding to the maintenance workload, the method further includes: Obtaining a software type of the software to be maintained in the software maintenance allocation request, determining a corresponding target software according to the software type, and obtaining a software maintenance difficulty level of the target software; The maintenance workload of the software to be maintained is obtained, and maintenance tasks are allocated to the maintenance workload according to the software maintenance difficulty level.

5. A software maintenance difficulty assessment device, characterized in that: The software maintenance difficulty assessment device comprises: a code identification module configured to obtain code maintenance information of the target software; The architecture adjustment module is configured to determine the update complexity level of the target software and the architecture level corresponding to the update complexity level based on the updated function code and the newly added function code in the code maintenance information, including: Identifying the code maintenance information and determining the updated function code and the newly added function code of the target software; Obtain each update attribute field in the update function code and each update attribute field in the newly added function code; calculate the field complexity of each update attribute field in the update function code and the field complexity of each update attribute field in the newly added function code to obtain the update complexity level of the target software, including: obtaining each update attribute field in the update function code and the update attribute field in the newly added function code; extracting each atomic variable of the update attribute field in the update function code and each atomic variable of the update attribute field in the newly added function code, and calculating the complexity value corresponding to each atomic variable; summing up the complexity values of each atomic variable corresponding to the update attribute field, and calculating the field complexity of the update attribute field; calculating the sum of the field complexity of each update attribute field, and evaluating the update complexity level of the target software according to the sum of the field complexity; Obtaining the number of field updates of each of the update attribute fields, and determining the architecture level according to the number of field updates and the update complexity level, including: counting the number of field updates of the update attribute fields, and obtaining a preset operation and maintenance indicator corresponding to the number of field updates; calculating a first score of the preset operation and maintenance indicator and a second score of the update complexity level, performing a weighted calculation on the first score and the second score to obtain an architecture update evaluation value of the target software; comparing the architecture update evaluation value with a preset architecture threshold to determine the architecture level corresponding to the architecture update evaluation value; The level determination module is configured to determine the maintenance workload of the target software according to the update complexity level and the architecture level, and calculate the software maintenance difficulty level corresponding to the maintenance workload.

6. A software maintenance difficulty assessment device, characterized in that: The software maintenance difficulty assessment device includes: one or more processors; Memory; and One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the processor to implement the software maintenance difficulty assessment method according to any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps of the software maintenance difficulty assessment method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Software upgrading method and equipment and storage medium

    CN111008028A

  • Software maintenance method, device and equipment

    CN112596760A