Software change management method and device, server and medium
By determining the object of changes affecting the object based on keyword search in the car software and generating change tasks, the problem of easily missed modifications in software changes is solved, improving the accuracy of changes and the reliability of software updates.
Patent Information
- Application Number
- CN202311114262.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2025-02-28
AI Technical Summary
In car software, due to the many embedded software and the complex collaborative interaction functions, it is easy to miss the content when the software changes, which leads to the failure of software updates or causes security risks.
By determining the changes related to the software to be changed based on keyword search, and generating corresponding change tasks are handed over to the responsible user for execution, thereby improving the accuracy of the change.
Improve the accuracy of software changes, reduce the risk of missed content, and enhance the reliability and security of software updates.
Smart Images

Figure CN119536763A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a software change management method, device, server and medium. Background Art
[0002] The software is developed in the server and released after development so that the terminal can use the software. When user needs change, the software needs to be changed to better serve user needs. When the change occurs, the software needs to be modified on the server side. After the software is changed on the server side, the software is updated between the terminal and the server through OTA (Over-the-Air Technology).
[0003] In detail, when the software is changed on the server side, the user finds the changed content and makes the change. However, in vehicle-mounted software, there are many embedded software on a vehicle and the software also has many collaborative and interactive functions. When manually searching for the content that needs to be changed, it is easy to miss the modified content. Summary of the invention
[0004] The present invention provides a software change management method, device, server and medium, which can search for change-affected objects related to the software to be changed based on keywords, thereby improving the accuracy of the change compared to users finding the change content themselves.
[0005] In a first aspect, an embodiment of the present invention provides a software change management method, comprising:
[0006] Determining at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed;
[0007] Generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object;
[0008] After determining that at least one change-affected object has completed the change tasks, the software to be changed is released.
[0009] The above method can determine at least one change impact object related to the software to be changed through keywords of the change information of the software to be changed, determine the change task based on at least one change impact object, and enable the user responsible for the change impact object to perform the change task. In this way, the change impact objects related to the software to be changed are searched based on keywords, and tasks are generated based on the change impact objects and handed over to the user to execute. Compared with the user finding the change content and making changes directly by himself, the accuracy of the change is improved.
[0010] In a possible implementation, determining at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed includes:
[0011] In response to a search instruction initiated by an initiating user, searching for an object according to a keyword of the description information corresponding to the change object of the software to be changed input by the initiating user in the search instruction;
[0012] generating a selection interface according to the description information corresponding to the searched object and the analysis user input by the user in the search instruction; and displaying the selection interface to the analysis user;
[0013] In response to a selection instruction initiated by the analysis user in the selection interface, an object corresponding to the description information selected by the analysis user in the selection instruction is used as the change-affected object.
[0014] The above method can find some change-affected objects, namely documents, work items and codes, through the searched keywords. Since the names or IDs of the change-affected objects are mostly determined by the software content, the objects searched through the keywords are objects that may be related to the software to be changed. The possible objects are then displayed to the user, who determines the change-affected objects related to the software to be changed, thereby better finding the change-affected objects.
[0015] In a possible implementation, after presenting the selection interface to the analysis user, the method further includes:
[0016] In response to the viewing instruction initiated by the analysis user in the selection interface, the entity of the change-affected object corresponding to the description information that the analysis user wants to view is opened according to the storage address of the entity of the change-affected object corresponding to the description information that the analysis user wants to view in the viewing instruction.
[0017] The above method can bind the description information and the storage address of the entity of the change-affected object, so that after the user triggers the viewing instruction, the entity of the change-affected object at the storage address can be found based on the description information, enabling the user to quickly find the content of the entity of the change-affected object, thereby determining the content of the change-affected object related to the software to be changed, thereby improving the efficiency of determination.
[0018] In a possible implementation manner, one change impact object corresponds to one change task.
[0019] In the above method, each change-affected object can generate a change task for the user to execute, thereby avoiding the problem of missing change contents due to unclear tasks of multiple change-affected objects.
[0020] In a possible implementation, generating a change task corresponding to at least one change-affected object includes:
[0021] Determine the steps in the development process of the software to be changed to which each change affects the object;
[0022] Determine the completion time for each change impact object based on the steps of the development process of the software to be changed to which each change impact object belongs;
[0023] According to the completion time corresponding to each change impact object and the responsible user corresponding to each change impact object, a change task corresponding to each change impact object is generated.
[0024] In the above method, since the previous step in the software development process will affect the content of the next step, the completion time of the change task can be determined through the development process of the software to be changed, thereby forming a change task, so that the change task can be better completed.
[0025] In a possible implementation manner, after generating at least one change task corresponding to the change-affected object, the method further includes:
[0026] Monitor the completion progress of at least one change task corresponding to the change-affected object;
[0027] In response to the monitoring instruction initiated by the monitoring user, a monitoring interface is generated according to the monitored completion progress; and the monitoring interface is displayed to the monitoring user; wherein the monitoring interface includes the responsible user, description information, completion status, and completion time corresponding to at least one change-affected object.
[0028] The above method can monitor the progress of the task. When the user wants to view the progress of the task, a monitoring page is generated based on the task progress, and the responsible user, description information, completion status, and completion time corresponding to the change-affected object are displayed to the monitoring user, thereby reducing the risk during task execution.
[0029] In a possible implementation, after determining that the change tasks corresponding to at least one change-affected object are all completed and before releasing the software to be changed, the method further includes:
[0030] For each change task, respond to the change instruction input by the responsible user corresponding to the change task, save the content of changing the entity of the change-affected object corresponding to the change task in the change instruction, and record the change content of the entity of the change-affected object corresponding to the change task;
[0031] In response to the verification instruction input by the verification user, a change page is generated according to the change content of the entity of the change-affected object corresponding to each change task, and the change page is displayed to the verification user.
[0032] The above method enables the user to view the changed content, thereby better monitoring the changes and improving the accuracy of the changes.
[0033] In a second aspect, an embodiment of the present invention provides a software change management device, including:
[0034] A determination module, configured to determine at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed;
[0035] A generating module, configured to generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object;
[0036] The release module is used to release the software to be changed after determining that the change tasks corresponding to at least one change-affected object are completed.
[0037] In a third aspect, an embodiment of the present invention provides a server, including:
[0038] processor;
[0039] A processor is used to execute the computer program or instructions in the memory so that the software change management method as described in any one of the first aspects is executed.
[0040] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium. When instructions in the storage medium are executed by a processor, the processor is enabled to execute the software change management method as described in any one of the first aspects.
[0041] In a fifth aspect, an embodiment of the present invention provides a computer program product, comprising: a computer program code, when the computer program code is run on a computer, the computer executes the software change management method as described in any one of the first aspects.
[0042] In addition, the technical effects brought about by any implementation method in the second to fifth aspects can refer to the technical effects brought about by different implementation methods in the first aspect, and will not be repeated here.
[0043] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 A flowchart of a software change management method provided by an embodiment of the present invention;
[0045] Figure 2 A schematic diagram of a software development process provided by an embodiment of the present invention;
[0046] Figure 3 A schematic diagram of a change affecting object selection provided by an embodiment of the present invention;
[0047] Figure 4 A schematic diagram of a selection interface for a searched object provided by an embodiment of the present invention;
[0048] Figure 5 A schematic diagram of a selection interface in which a searched object is a document provided in an embodiment of the present invention;
[0049] Figure 6 A schematic diagram of a selection interface in which a searched object is a work item provided in an embodiment of the present invention;
[0050] Figure 7 A schematic diagram of a selection interface in which a searched object is a code provided by an embodiment of the present invention;
[0051] Figure 8 A schematic diagram for displaying the progress of a monitoring change task provided by an embodiment of the present invention;
[0052] Fig. 9 A schematic diagram showing a comparison before and after a change provided in an embodiment of the present invention;
[0053] Fig.10 A schematic diagram showing a deliverable after verification is completed provided by an embodiment of the present invention;
[0054] Fig.11 A schematic diagram of the structure of a software change management device provided by an embodiment of the present invention;
[0055] Fig.12 A schematic diagram of the structure of a server provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0056] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0057] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0058] With the software-defined car, more and more in-vehicle software is installed. The software development process is developed in stages. After the stage activities are completed, the completed deliverables (requirement documents, architecture models, detailed designs, codes, test cases, etc.) will be labeled, that is, marked as baselines, and then released to the team internally or externally. The baseline released internally is generally developed by the upstream, and a baseline version is released to the downstream. The downstream R&D develops according to the upstream baseline version. The baseline refers to a completed and verified version or release version of a software product or part of a product. In layman's terms, a baseline is a "snapshot" in the software development process, representing the work results of the software development team at a certain point in time. The configuration administrator will include the work results in the version management tool (such as SVN) and use standardized naming to mark the product. For example, the baseline name of a project design document is: XXX Project_Battery System_BL__DES_V1.0. The baseline released externally is generally mature and can be released to external users.
[0059] If the software released to the public has problems or the external requirements of the software change, resulting in the need to change the software content, the change process is mainly divided into two parts. One part is on the server side, where the software developer modifies the software content based on the software itself or the external requirements of the software change. The other part is to use OTA technology to upgrade the software modified on the server side so that the vehicle installed with the software can be upgraded. When making software changes on the server side, the engineers who develop the software make changes to the software based on the software itself or the external requirements of the software change. However, there are many embedded software on a vehicle and the software has many collaborative and interactive functions, which can easily lead to missed modifications and cause software updates to fail. This is the root cause of software uncontrollability and even catastrophic accidents. If software changes are not managed well, the following consequences will occur:
[0060] 1. Delayed delivery time: Poor change management may result in changes being implemented incorrectly, leading to delayed delivery time.
[0061] 2. Quality issues: Poor change management may lead to software quality issues. For example, other errors may be introduced during the change, causing software functions to fail or even crash.
[0062] 3. Security vulnerabilities: Poor change management may lead to security vulnerabilities in software, key components or systems in software development, which may have serious impacts on data and network security. If the in-vehicle software function fails, it may cause life-threatening, vehicle property and personal safety problems.
[0063] 4. Additional costs: Poor change management may lead to additional costs. For example, irregular change management may lead to rework or redevelopment of certain components, increasing the company's R&D costs.
[0064] 5. Traceability issues: Poor change management may lead to traceability issues. For example, it is impossible to determine which version of the code a certain part of the software was built with, and the problem cannot be located in time, so it takes longer to fix the defect.
[0065] Based on this, an embodiment of the present invention provides a method that can search for change-affected objects related to the software to be changed based on keywords, and generate tasks based on the change-affected objects and assign them to users to execute. Compared with users finding the change content and making changes directly by themselves, the accuracy of the changes is improved.
[0066] Glossary:
[0067] ALM: Application lifecycle development management system;
[0068] Git: version control system.
[0069] CCB: Change Control Board;
[0070] Tag branch: create a code branch for the tag;
[0071] ASPICE: Automotive software process improvement and capability assessment system.
[0072] Combination Figure 1 As shown, an embodiment of the present invention provides a software change management method, including:
[0073] S100: determining at least one change impact object related to the software to be changed according to keywords of description information corresponding to a change object of the software to be changed;
[0074] The objects affected by the change are documents generated during the software development process, work items generated during the software development process, and software codes;
[0075] Taking in-vehicle software as an example, in the process of in-vehicle software development, the ASPICE development model is generally used as a reference. The software development team follows the forward development process to develop requirements, architecture, code, test cases, etc. Figure 2As shown in the figure, in the system engineering process group, the specific activities of the system requirement engineer are system requirement analysis and design, and writing the system requirement specification document and the work item of writing the system requirement; the specific activities of the system architecture engineer are system architecture analysis and design, and writing the system architecture specification document and the work item of writing the system architecture; the activities of the system qualification test engineer are system qualification test case development and execution, and work items of finding bugs, writing system qualification test case documents and the work item of writing system qualification test case; and using system qualification test case to test system requirements; the specific activities of the system integration test engineer are system integration test case development and execution, and work items of finding bugs, writing system integration test case documents and the work item of writing system integration test case; and using system integration test case to test system architecture.
[0076] In the software engineering group, the specific activities of software product engineers are software requirements analysis and design, and they write documents of software requirements specifications and work items of software requirements; the specific activities of software architecture engineers are software architecture analysis and design, and they write documents of software architecture specifications and work items of software architecture; the specific activities of software development engineers are detailed design and code development, and they write documents of detailed design and work items of detailed design; the activities of system function test engineers are software qualification test case development and execution, and they find bugs, write documents of software qualification test cases, and work items of software qualification test cases; and they use software qualification test cases to test software requirements; the specific activities of software integration test engineers are software integration test case development and execution, and they find bugs, write documents of software integration test cases, and work items of software integration test cases; and they use software integration test cases to test software architecture; the specific activities of unit test engineers are unit test case development and execution, and they find bugs, write documents of unit test cases, and work items of unit test cases; and they use unit test cases to test detailed design. The relevant code of the software is stored in SVN&GIT.
[0077] The description information of the document generated in the software development process is stored as a name, the description information of the work item is stored as a name, and the description information of the software code is stored.
[0078] When the software needs to be changed, that is, the software is the software to be changed, the object corresponding to the entity to be modified first is the change object due to the change requirement. According to the keywords of the description information corresponding to the change object of the software to be changed, at least one change-affected object related to the software to be changed is determined, that is, Figure 2The documents, work items, codes, etc. generated in the software to be changed. Of course, the objects affected by the change include not only the objects in the software to be changed, but also objects in other software related to the software to be changed. The objects refer to the above documents, work items or codes.
[0079] S101: Generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object;
[0080] Recombination Figure 2 As shown, the user who writes the document, work item, and code is the responsible user, who generates a change task corresponding to at least one change-affecting object related to the software to be changed, and sends the change task to the responsible user, so that the responsible user can make software changes based on the change task.
[0081] S102: After determining that the change tasks corresponding to at least one change-affected object are all completed, releasing the software to be changed.
[0082] against Figure 1 The specific implementation method of determining at least one change-affected object in the embodiment of the present invention includes:
[0083] In response to a search instruction initiated by an initiating user, searching for an object according to a keyword of the description information corresponding to the change object of the software to be changed input by the initiating user in the search instruction;
[0084] Generate a selection interface based on the description information corresponding to the searched object and the analysis user input by the user in the search instruction; and display the selection interface to the analysis user;
[0085] In response to a selection instruction initiated by the analysis user on the selection interface, an object corresponding to the description information selected by the analysis user in the selection instruction is used as a change-affected object.
[0086] In detail, the user can determine the input change document name & change work item ID based on the description information corresponding to the entity of the change object in the software to be changed. The change information of the software to be changed is the description information corresponding to the entity of the change object, that is, the document name or work item ID. The user enters the description information corresponding to the entity of the change object, splits the description information corresponding to the entity of the change object, and uses the obtained words as keywords to search for documents, work items or codes with keywords in the ALM system, SVN and Git repositories, that is, to search whether there are one or more of the above keywords in the description information corresponding to the document, work item or code. If so, then the searched object is generated according to the searched object and the analysis user input by the user in the search instruction. The selection interface is displayed to the analysis user, and the analysis user analyzes whether the above searched object is a change-affected object, that is, an object that is changed together with the change object. If so, then the object is determined to be a change-affected object. In this way, the user screening function is added. The user enters the change information, and the system searches for objects based on the keywords of the change information. The searched objects are possible change-affected objects related to the change software, and the information is displayed to the user. The user refers to the above objects and selects the change-affected objects related to the software to be changed.
[0087] For example, combined with Figure 3 As shown, the user enters the document name & work item ID: XXX Project_FR_Slow Charging, splits XXX Project_FR_Slow Charging, and uses XXX Project, FR, and Slow Charging as keywords; searches for documents, work items, or codes with keywords in the ALM system, SVN, and Git repositories, and obtains the work item: EP-38858-FC01 Slow Charging Startup, documents: XXX Project_SSTS_Power Domain_AC Charging Technical Specifications, XXX Project_CTS_Power Domain_PDCS Component Technical Specifications, XXX Project_Vehicle Qualification Test_Power Domain_AC Charging Test Cases, and the user can select Yes or No in whether to participate in the change, as shown in the following figure. Figure 3 The documents with check marks are the change-affected objects related to the software to be changed.
[0088] When there are many objects searched, use Figures 4 to 7 The searched objects are displayed in a way. Figure 4 As shown in the figure, the searched objects are displayed according to the types of documents (LiveDoc), work items, and source codes. When the user clicks on a document (LiveDoc), the page jumps to the following Figure 5 The page shown in the figure displays all documents in the searched object, showing the title, id, space, status, and author; for example, test work item 0, file id 0, document space 0, draft, Zhang Jie; when the user clicks on the work item, the page jumps to Figure 6The page shown in the figure displays all the work items in the searched object, showing the id, title, type, status, and author; for example, document id7, title, document space, draft, Zhang Jie; when the user clicks on the source code, it jumps to Figure 7 The page shown displays all the source codes in the searched object, showing the project name, project description, project creation time, last update time, Tag name, commitld, Tag information, operator email, and operator.
[0089] In order for the analysis user to quickly analyze the objects affected by the change, after the embodiment of the present invention displays the selection interface to the analysis user, the method further includes:
[0090] In response to a viewing instruction initiated by the analysis user in the selection interface, the entity of the change-affected object corresponding to the description information that the analysis user wants to view is opened according to the storage address of the entity of the change-affected object corresponding to the description information that the analysis user wants to view in the viewing instruction.
[0091] Specifically, the corresponding relationship between the description information and the storage address of the entity of the object affected by the change is stored, and when the user triggers the viewing instruction, the entity of the object affected by the change corresponding to the triggered description information is opened based on the storage address corresponding to the triggered description information. Figure 3 As shown, the user clicks on "XXX Project_SSTS_Power Domain_AC Charging Technical Specifications", which means analyzing the description information the user wants to view in the viewing instruction, and based on the storage address corresponding to "XXX Project_SSTS_Power Domain_AC Charging Technical Specifications", opening the entity of the change-affected object corresponding to "XXX Project_SSTS_Power Domain_AC Charging Technical Specifications".
[0092] That is to say, in Search ALM, by embedding the entity function of the change-affected object, you can bind the entity of the change-affected object (Livedoc and work item, see Figure 5 and Figure 6 ), you can also associate branches and file versions in Git and SVN (see Figure 7 ), establish a link relationship between the ALM system and the entity of the change-affected object, then the analysis user can select the change object and its version, and the analysis user can directly view the corresponding entity content, and can quickly view, analyze, and determine the change impact scope of the content to be changed. Through the initial change object, the impact object is analyzed, and then the scope of this change is locked. By managing the change scope in a systematic way, communication and collaboration are enhanced, thereby ensuring the efficiency and accuracy of change management.
[0093] In the process of determining the objects affected by the change based on the user, potential change objects can be identified. In the ALM system, according to the forward development process, the upstream and downstream requirements are linked (for example, the software architecture links to the software requirements, and the test cases establish a verification relationship with the requirements, etc.), and the requirement tracking matrix is constructed. The ALM system provides a network with requirements as the source. In this network, if any of the requirements changes, the change impact objects can be analyzed for the same level and downstream requirements, architecture, code and related test cases, and the specific change impact objects and responsible persons can be listed. In the R&D change analysis stage, the analyst determines whether the change impact object is changed, selects the change object, and loads the change object into the change object list. A systematic change impact analysis is provided, and the affected change objects are automatically displayed according to the input conditions, which reduces the user's analysis time, improves the efficiency and quality of change analysis, and avoids the occurrence of missed change objects.
[0094] Among them, one change impact object corresponds to one change task.
[0095] Combination Figure 3 As shown, one change impact object of the software to be changed is XXX Project_SSTS_Power Domain_AC Charging Technical Specifications, and XXX Project_SSTS_Power Domain_AC Charging Technical Specifications corresponds to one change task; one change impact object of the software to be changed is XXX Project_CTS_Power Domain_PDCS Component Technical Specifications, and XXX Project_CTS_Power Domain_PDCS Component Technical Specifications corresponds to one change task; one change impact object of the software to be changed is XXX Project_Vehicle Qualification Test_Power Domain_AC Charging Test Case, and XXX Project_Vehicle Qualification Test_Power Domain_AC Charging Test Case corresponds to one change task.
[0096] During the development process, there will be dependencies between documents, work items, and codes. For example, an architecture is created based on requirements, and code is developed based on the architecture. If the change-affected object of the software to be changed belongs to a requirement, then the framework to which the change-affected object of the software to be changed belongs needs to wait until the change of the required software is completed before the change of the framework's change-affected object can be modified. Based on this, an embodiment of the present invention provides a specific implementation method for generating a change task corresponding to at least one change-affected object related to the software to be changed:
[0097] Determine the steps in the development process of the software to be changed to which each change affects the object;
[0098] Determine the completion time for each change impact object based on the steps of the development process of the software to be changed to which each change impact object belongs;
[0099] According to the completion time corresponding to each change impact object and the responsible user corresponding to each change impact object, a change task corresponding to each change impact object is generated.
[0100] In detail, the steps of the development process are requirement documents, architecture models, detailed designs, codes, test cases, etc., and the parts to which each change impact object belongs are determined. For example, at least one change impact object is change impact object 1, change impact object 2, change impact object 3, change impact object 4, and change impact object 5; the steps to which change impact object 1 belongs are codes, the steps to which change impact object 2 belongs are test cases, the steps to which change impact object 3 belongs are architecture models, the steps to which change impact object 4 belongs are detailed designs, and the steps to which change impact object 5 belongs are requirement documents; change impact object 5 is completed first, and then change impact object 3, change impact object 4, change impact object 1, and change impact object 2 are completed. Based on the above situation, the completion time corresponding to each change impact object is set, and based on the completion time and the responsible user corresponding to the change impact object, the change task corresponding to the change impact object is generated.
[0101] How to determine the completion time for the steps in the development process, for example, combined with Figure 3 As shown, the order of steps is: XXX Project_SSTS_Power Domain_AC Charging Technical Specifications, XXX Project_CTS_Power Domain_PDCS Component Technical Specifications, XXX Project_Vehicle Qualification Test_Power Domain_AC Charging Test Cases, then the planned completion time of XXX Project_SSTS_Power Domain_AC Charging Technical Specifications is September 3, 2022, and then the actual completion time of this specification is used as the technical completion time of XXX Project_CTS_Power Domain_PDCS Component Technical Specifications, and then the actual completion time of XXX Project_CTS_Power Domain_PDCS Component Technical Specifications is used as the planned completion time of XXX Project_Vehicle Qualification Test_Power Domain_AC Charging Test Cases.
[0102] The basic principle of granularity division in the embodiment of the present invention is to track and process one change task for each change-affected object; when a change task involves upstream or downstream or horizontal dependencies, the implementation progress of the upstream or dependent change tasks can be tracked. In addition, the change task provides process automation, approval, notification and other functions to improve the efficiency and accuracy of change management.
[0103] In order to better monitor the progress of the change task, after generating a change task corresponding to at least one change-affected object, the method according to the embodiment of the present invention further includes:
[0104] Monitor the completion progress of at least one change task corresponding to the change-affected object;
[0105] In response to the monitoring command initiated by the monitoring user, a monitoring interface is generated according to the monitored completion progress; and the monitoring interface is displayed to the monitoring user; wherein the monitoring interface includes the responsible user, description information, completion status, and completion time corresponding to at least one change-affected object.
[0106] In detail, a completion button is added to each change task. If the user triggers the completion button, the change task is monitored to be in a completed state. When the user does not trigger the completion button, the change task is monitored to be in an uncompleted state. When the user triggers the monitoring command, the monitored completion status, completion time and other information are displayed to the monitoring user.
[0107] Among them, the completion status includes completed and uncompleted, and the completion time is the time when the change task is completed;
[0108] Combination Figure 8 As shown, the monitoring interface includes the name of this change, the person in charge of this change, the status of this change, the completion time node of this change, the name of the change task of this change, the user responsible for the change task, the status of the change task, and the completion time point of the change task; for example, this change includes a total of four change tasks, and the change information is XXX change, Zhang San, in implementation, March 15, 2023; the change tasks are: XXX task 1, Zhang Si, completed, February 10, 2023; XXX task 2, Liu Si, completed, February 15, 2023; XXX task 3, Liu Si, completed, February 28, 2023; XXX task 4, Zhang Wu, completed, March 10, 2023.
[0109] This way, the progress of each change task can be fed back to the user, and the overall change progress can be monitored in real time. Through the change progress tracking chart, the current change progress can be effectively tracked, the existing progress risks can be monitored, and potential risks can be handled in a timely manner.
[0110] In order to reduce the possibility of errors when the responsible user changes the entity of the change-affected object, the embodiment of the present invention provides that after determining that the change tasks corresponding to at least one change-affected object are completed, before releasing the software to be changed, the method further includes:
[0111] For each change task, respond to the change instruction input by the responsible user corresponding to the change task, save the content of the entity of the change-affected object corresponding to the change task in the change instruction, and record the change content of the entity of the change-affected object corresponding to the change task;
[0112] In response to the verification instruction input by the verification user, a change page is generated according to the change content of the entity of the change-affected object corresponding to each change task, and the change page is displayed to the verification user.
[0113] In detail, when the responsible user performs the change task, that is, when the change affects the object, ALM supports document comparison, and version comparison is supported between Git / SVN code versions. The comparison results before and after the change are saved, and the saved comparison results can be directly viewed through hyperlinks to confirm the correctness of the change. If there are changes that do not meet the acceptance criteria, they need to be revised and submitted for acceptance again after adjustment. By comparing the change plan implementation plan with the final change results (by comparing the locked change content), the change acceptance personnel can focus more on whether the change meets the predetermined goals and meets the acceptance criteria, and prevent the inclusion of content that does not meet the plan during the change implementation process.
[0114] For example, combined with Fig. 9 As shown, the monitoring interface includes information before and after the change, for example, the name of the change object, the ID / Tag of the change object, and the version of the change object; the name of the change object before the change is XXX document name, the ID / Tag of the change object is XXXX, and the version of the change object is 62031, and the name of the change object after the change is XXX document name, the ID / Tag of the change object is XXXX, and the version of the change object is 70326; the name of the change object before the change is XXX Git code branch, the ID / Tag of the change object is ALM and jira integrated release_20220201, and the version of the change object is 65032, and the name of the change object after the change is XXX Git code branch, the ID / Tag of the change object is ALM and jira integrated release_20220401, and the version of the change object is 85301; the name of the change object before the change is XXX SVN branch, the ID / Tag of the change object is DBC E3 node release_20221203, and the version of the change object is 68201, and the name of the change object after the change is XXX SVN branch, the ID / Tag of the change object is DBC E3 node release_20230108, change object version 763254.
[0115] After verification is complete, submit the deliverable and its version. Fig.10 As shown in the figure, after submission, the deliverables and their versions are displayed to the user. The delivery interface includes documents and codes. Documents include document names and versions. Codes include tag names and software versions.
[0116] In the research and development system, the present invention provides manual determination of change impact objects, generates change tasks based on change impression objects, and assists in solving the dependencies between changes by monitoring the order of completion time and progress tracking of change tasks. The setting of one change impact object corresponding to one change task also effectively reduces the granularity of change implementation, making it convenient for management and change personnel to perform specific change tasks; change verification reconfirms that all changes meet the expected change plan; change configuration management effectively combines the change process and configuration management, allowing configuration administrators to receive change completion information in a timely manner and republish baselines. In the vehicle software change plan, it not only focuses on the control of the change process, but also pays attention to the changes in the change impact objects, the tracking of progress, and the verification of results. It provides a full range of change management, achieves more accurate version control, and timely notification of data updates.
[0117] The process of changing software management is as follows:
[0118] Step 1: Initiate a change. When changes occur in the software due to factors such as changes in customer requirements or unreasonable designs during product development, project members can initiate a change request, fill in the reason for the change (such as changes in customer requirements, market changes, new regulatory requirements, etc.), change information, and submit an analysis to analyze the rationality of the change;
[0119] Step 2: Analyze the changes. The user analyzes the content of the changes, determines the objects affected by the changes, the cost of the changes, etc., jointly formulates a change implementation plan with the change implementer, and then outputs the analysis report, conclusions and change implementation plan, and submits it to the CCB to decide whether to execute it;
[0120] Step 3: Change decision. CCB makes a decision on whether to implement the change. If it is unreasonable, it can be sent back to the analyst for re-analysis. If the change is not implemented, the change process can be directly cancelled and the change can be terminated. If CCB agrees to the change, the change implementation process will continue.
[0121] Step 4: Implementation: According to the implementation plan in the analysis, the implementer changes the change content in the baseline (requirements, architecture, detailed design, code, test cases, etc.). After the change is implemented, the changed product (requirements, architecture, code, etc.) is output and submitted for verification;
[0122] Step 5: Verification: The verifier compares and verifies the content before and after the change to verify whether the changed content meets expectations and quality requirements, and outputs review minutes and verification conclusions. If the verification fails, it will be sent back to the implementation personnel for readjustment and resubmission; if the verification passes, it will be submitted to the configuration manager, who will include the changed product in the baseline management;
[0123] Step 6: Configuration: The configuration administrator will receive the product that has passed the change acceptance, upgrade the baseline, incorporate the changed product into the new baseline management, and publish it externally, and the change is completed.
[0124] In the R&D system, design a complete change process, combined with Fig.10 As shown in the figure, 1. A project member initiates a change, enters the reason for the change in the R&D system change process, preliminarily selects the system object to be changed, selects an analyst, and submits the change process. The change process is transferred to the analyst, and an email is sent to notify the analyst.
[0125] 2. The analyst receives the change request and analyzes the objects affected by the change. If no objects are affected by the change, the process ends. If so, the process continues to the next part. When analyzing objects affected by the change, the change information is searched for objects affected by the change through the keywords of the change information, documents and work items in the ALM system, and tag branches in the associated external SVN and Git repositories, and the searched objects affected by the change are displayed to the analyst. The analyst preliminarily determines the objects affected by the change, and invites the implementer to join the change analysis to participate in the change object and change implementation analysis. The analyst and implementer determine the objects affected by the change. In detail:
[0126] a) Change implementation plan: In the change analysis phase, the change analysts and implementers will work together to analyze the change content and develop a change implementation plan;
[0127] b) Acceptance criteria, which define the verifiable relevant criteria for task completion, such as the requirements document being implemented and passing peer review; the code passing unit testing, integration testing, etc.;
[0128] 3. After determining the scope of change and solution, and developing a change implementation plan, submit it to the CCB for decision. The CCB will decide whether to implement the change content;
[0129] 4. In the main change process, once the CCB decision is passed, the main process status will be transferred to implementation. The system will assign responsible persons based on the objects affected by the change. Each object affected by the change must have a clear completion time, and the coordination and impact with other change tasks must be considered. The specific rules for generating change tasks are as follows:
[0130] a) Change task generation rules: Create different change tasks based on the person in charge of the ALM system documents and the code associated with the change-affected object. Divide the change tasks according to the responsible persons;
[0131] b) The change task will inherit the person in charge and the planned completion time from the change implementation plan as the person in charge and the planned completion time of the change task;
[0132] A specific example is as follows: the objects affected by the change include the software requirement document designed by Engineer A, the architecture document designed by Engineer B, the code responsible for Engineer C, and the test cases responsible for Engineer D. In this case, four change tasks are created. For example, the person in charge of the software requirement change task is Engineer A; the person in charge of the design change task is Engineer B, and so on.
[0133] 5. In the change task, each change task has an impact object. The engineer responsible for the change task executes the change task, associates the changed deliverables and versions to the change process, performs the acceptance review activities of the change task, conducts the acceptance review according to the acceptance criteria, and finally completes the change task. After the change task is closed, the change task closing time is automatically loaded into the monitoring page;
[0134] 6. When all change tasks are closed, the process automatically jumps to the verification stage, from the implementer to the verifier, who verifies whether all contents have been changed as a whole, and fills in the acceptance minutes and conclusions;
[0135] 7. After the acceptance is completed, the verifier will transfer it to the configuration engineer for configuration management audit;
[0136] The configuration engineer audits the changed deliverables to see whether their naming, format, etc. meet the configuration management requirements. If they do, the changed content will be included in the new baseline management. Specific operations:
[0137] c) Create a tag in Git or SVN to indicate that the code branch has met the release criteria;
[0138] d) In ALM, in the baseline work item, associate the changed document and its version, and the code version where the tag is located (see Fig.10 ).
[0139] e) Complete the writing of baseline content and submit it to the baseline release process. After approval by the reviewer, the baseline is released, marking the completion of the entire change process.
[0140] The advantages of the embodiments of the present invention are as follows:
[0141] 1. In the change process, associate the process with the change-affected objects and their versions to implement binding between the process and entities. Entities include documents in the ALM system, work items, and tag branches in the SVN / Git repository. By binding entities, version control before and after the change can be implemented, and the change acceptance phase can be supported to quickly compare the content of the change.
[0142] 2. The change analysis phase adds an auxiliary manual analysis function, which can help users quickly locate the objects affected by the change and quickly associate the entities of the objects affected by the change. This can provide a systematic analysis of the scope of change impact when facing complex business logic and large-scale changes, and reduce the possibility of missing and inaccurate change objects in manual judgment.
[0143] 3. Generate a change task based on a change impact object. The system provides automatic creation of change tasks, which can monitor the progress of each change task and monitor the overall change progress in real time. Through the change progress tracking chart, you can effectively track the current change progress, monitor the existing progress risks, and deal with potential risks in a timely manner.
[0144] 4. In the change acceptance phase, add a comparison of the content before and after the change. Through content comparison, directly lock the specific content of this change and track the changes of the change objects in the entire link. In this way, the complete change link traceability can be achieved, improving the accuracy and consistency of change review.
[0145] The embodiment of the present invention provides a software change management device, combined with Fig.11 As shown, including:
[0146] A determination module 1100, configured to determine at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed;
[0147] A generating module 1110 is used to generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object;
[0148] The release module 1120 is used to release the software to be changed after determining that the change tasks corresponding to at least one change-affected object are all completed.
[0149] Optionally, the determination module 1100 is specifically configured to:
[0150] In response to a search instruction initiated by an initiating user, searching for an object according to a keyword of the description information corresponding to the change object of the software to be changed input by the initiating user in the search instruction;
[0151] generating a selection interface according to the description information corresponding to the searched object and the analysis user input by the user in the search instruction; and displaying the selection interface to the analysis user;
[0152] In response to a selection instruction initiated by the analysis user in the selection interface, an object corresponding to the description information selected by the analysis user in the selection instruction is used as the change-affected object.
[0153] Optionally, the determination module 1100 is further configured to:
[0154] In response to the viewing instruction initiated by the analysis user in the selection interface, the entity of the change-affected object corresponding to the description information that the analysis user wants to view is opened according to the storage address of the entity of the change-affected object corresponding to the description information that the analysis user wants to view in the viewing instruction.
[0155] Optionally, one change impact object corresponds to one change task.
[0156] Optionally, the generating module 1110 is specifically configured to:
[0157] Determine the steps in the development process of the software to be changed to which each change affects the object;
[0158] Determine the completion time for each change impact object based on the steps of the development process of the software to be changed to which each change impact object belongs;
[0159] According to the completion time corresponding to each change impact object and the responsible user corresponding to each change impact object, a change task corresponding to each change impact object is generated.
[0160] Optionally, the device further includes a monitoring module:
[0161] A monitoring module, used to monitor the completion progress of a change task corresponding to at least one change-affected object;
[0162] In response to the monitoring instruction initiated by the monitoring user, a monitoring interface is generated according to the monitored completion progress; and the monitoring interface is displayed to the monitoring user; wherein the monitoring interface includes the responsible user, description information, completion status, and completion time corresponding to at least one change-affected object.
[0163] Optionally, the device further includes a verification module:
[0164] The verification module is used to respond to the change instruction input by the responsible user corresponding to each change task, save the content of changing the entity of the change-affected object corresponding to the change task in the change instruction, and record the change content of the entity of the change-affected object corresponding to the change task;
[0165] In response to the verification instruction input by the verification user, a change page is generated according to the change content of the entity of the change-affected object corresponding to each change task, and the change page is displayed to the verification user.
[0166] In addition, combined Figure 1-Figure 11 The software change management method and device described in the embodiment of the present invention can be implemented by a server.
[0167] Server, including: processor;
[0168] a memory for storing instructions executable by the processor;
[0169] The processor is configured to execute the instructions to implement the software change management method as described in any one of the above descriptions.
[0170] Based on the above introduction, an exemplary Fig.12 The server structure.
[0171] The server may include a processor 1210 and a memory 1220 storing computer program instructions.
[0172] Specifically, the processor 1210 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present invention.
[0173] The memory 1220 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 1220 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 1220 may include a removable or non-removable (or fixed) medium. Where appropriate, the memory 1220 may be inside or outside a data processing device. In a particular embodiment, the memory 1220 is a non-volatile solid-state memory. In a particular embodiment, the memory 1220 includes a read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM) or a flash memory or a combination of two or more of these.
[0174] The processor 1210 implements any one of the methods for performing tasks in the above embodiments by reading and executing computer program instructions stored in the memory 1220 .
[0175] In one example, the server may further include a communication interface 1230 and a bus 1240. Fig.12 As shown, the processor 1210, the memory 1220, and the communication interface 1230 are connected via a bus 1240 and communicate with each other.
[0176] The communication interface 1230 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiment of the present invention.
[0177] Bus 1240 includes hardware, software or both, and the components of the server are coupled to each other. For example, but not limitation, the bus may include accelerated graphics port (AGP) or other graphics bus, enhanced industrial standard architecture (EISA) bus, front-side bus (FSB), hypertransport (HT) interconnection, industrial standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnect (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 1240 may include one or more buses. Although the embodiment of the present invention describes and shows a specific bus, the present invention considers any suitable bus or interconnection.
[0178] In addition, in combination with the server in the above embodiment, an embodiment of the present invention may provide a storage medium, and when the instructions in the storage medium are executed by the processor of the server, the server can execute the software change management method as described in any one of the above items.
[0179] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0180] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0181] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0182] Although the preferred embodiments of the present invention have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.
[0183] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. A software change management method, characterized in that: include: Determining at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed; Generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object; After determining that at least one change-affected object has completed the change tasks, the software to be changed is released.
2. The software change management method according to claim 1, characterized in that: Determining at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed includes: In response to a search instruction initiated by an initiating user, searching for an object according to a keyword of the description information corresponding to the change object of the software to be changed input by the initiating user in the search instruction; generating a selection interface according to the description information corresponding to the searched object and the analysis user input by the user in the search instruction; and displaying the selection interface to the analysis user; In response to a selection instruction initiated by the analysis user in the selection interface, an object corresponding to the description information selected by the analysis user in the selection instruction is used as the change-affected object.
3. The software change management method according to claim 2, characterized in that: After presenting the selection interface to the analysis user, the method further includes: In response to the viewing instruction initiated by the analysis user in the selection interface, the entity of the change-affected object corresponding to the description information that the analysis user wants to view is opened according to the storage address of the entity of the change-affected object corresponding to the description information that the analysis user wants to view in the viewing instruction.
4. The software change management method according to claim 1, characterized in that: in, One change-affected object corresponds to one change task.
5. The software change management method according to claim 4, characterized in that: Generate at least one change task corresponding to the change-affected object, including: Determine the steps in the development process of the software to be changed to which each change affects the object; Determine the completion time for each change impact object based on the steps of the development process of the software to be changed to which each change impact object belongs; According to the completion time corresponding to each change impact object and the responsible user corresponding to each change impact object, a change task corresponding to each change impact object is generated.
6. The software change management method according to claim 1, characterized in that: After generating at least one change task corresponding to the change-affected object, the method further includes: Monitor the completion progress of at least one change task corresponding to the change-affected object; In response to the monitoring instruction initiated by the monitoring user, a monitoring interface is generated according to the monitored completion progress; and the monitoring interface is displayed to the monitoring user; wherein the monitoring interface includes the responsible user, description information, completion status, and completion time corresponding to at least one change-affected object.
7. The software change management method according to any one of claims 1 to 6, characterized in that: After determining that the change tasks corresponding to at least one change-affected object are all completed, before releasing the software to be changed, the method further includes: For each change task, respond to the change instruction input by the responsible user corresponding to the change task, save the content of changing the entity of the change-affected object corresponding to the change task in the change instruction, and record the change content of the entity of the change-affected object corresponding to the change task; In response to the verification instruction input by the verification user, a change page is generated according to the change content of the entity of the change-affected object corresponding to each change task, and the change page is displayed to the verification user.
8. A software change management device, characterized in that: include: A determination module, configured to determine at least one change impact object related to the software to be changed according to keywords of the description information corresponding to the change object of the software to be changed; A generating module, configured to generate a change task corresponding to at least one change-affected object, and send the change task corresponding to at least one change-affected object to a responsible user corresponding to at least one change-affected object; The release module is used to release the software to be changed after determining that the change tasks corresponding to at least one change-affected object are completed.
9. An electronic device, characterized in that: include: Memory, used to store computer programs or instructions; A processor is used to execute the computer program or instructions in the memory so that the software change management method as described in any one of claims 1 to 7 is executed.
10. A computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor, the processor is enabled to execute the software change management method as described in any one of claims 1-7.
Citation Information
Patent Citations
Digitally controlled automatic bias circuit for magnetic recording
EP0038858A1