CN116737121A - Software development management method, device, system, equipment and storage medium - Google Patents

Software development management method, device, system, equipment and storage medium Download PDF

Info

Publication number
CN116737121A
CN116737121A CN202310941605.XA CN202310941605A CN116737121A CN 116737121 A CN116737121 A CN 116737121A CN 202310941605 A CN202310941605 A CN 202310941605A CN 116737121 A CN116737121 A CN 116737121A
Authority
CN
China
Prior art keywords
software
requirement
structuring
package
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310941605.XA
Other languages
Chinese (zh)
Inventor
于立娇
南洋
张永生
周时莹
周亚伟
李长龙
孔祥明
梁贵友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FAW Group Corp
Original Assignee
FAW Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FAW Group Corp filed Critical FAW Group Corp
Priority to CN202310941605.XA priority Critical patent/CN116737121A/en
Publication of CN116737121A publication Critical patent/CN116737121A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a software development management method, a device, a system, equipment and a storage medium, belonging to the technical field of software development, wherein the method comprises the following steps: determining at least one software development requirement, and carrying out structuring treatment on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement; generating a software code package for the structured requirements based on the code development tool; generating a test case for the software code package based on the test management tool; and integrating at least one software code package according to the running result of the test case to obtain a target software package. The invention realizes the management of software requirements, software codes, software test cases and software packages in the software development process, pulls through document structuring tools, code development tools, test management tools and other tools in the software development process, establishes data connection among all software development stages, and realizes bidirectional traceability management in the software development process.

Description

Software development management method, device, system, equipment and storage medium
Technical Field
The present invention relates to the field of software development technologies, and in particular, to a method, an apparatus, a system, a device, and a storage medium for managing software development.
Background
Along with the continuous improvement of the automation and the intelligent degree of the automobile, the functional complexity of the whole automobile controller is gradually increased, and the occupation ratio of software development in whole automobile development is increased year by year.
The rapid development of automobile software brings about some software development management problems, and how to realize bidirectional traceability management in the development process of the automobile software becomes one of the bottlenecks for limiting the efficient development of the automobile software.
Disclosure of Invention
The invention provides a software development management method, a device, a system, equipment and a storage medium, which are used for realizing bidirectional traceability management in the software development process and improving the software development efficiency.
According to an aspect of the present invention, there is provided a software development management method, including:
determining at least one software development requirement, and carrying out structuring treatment on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement;
generating a software code package for the structured requirements based on the code development tool;
generating a test case for the software code package based on the test management tool;
And integrating at least one software code package according to the running result of the test case to obtain a target software package.
According to another aspect of the present invention, there is provided a software development management apparatus including:
the structuring requirement determining module is used for determining at least one software development requirement, and carrying out structuring treatment on the software development requirement based on the document structuring tool to obtain a structuring requirement corresponding to the software development requirement;
the software code package generation module is used for generating a software code package for the structural requirement based on the code development tool;
the test case generation module is used for generating a test case for the software code package based on the test management tool;
and the target software package determining module is used for integrating at least one software code package according to the running result of the test case to obtain a target software package.
According to another aspect of the present invention, there is provided a software development management system including a demand management module, a code management module, a test management module, an integration management module, a document structuring tool, a code development tool, a test management tool, and a code integration tool;
the demand management module is used for carrying out addition, deletion, modification and query management on the software development demands;
The document structuring tool performs data interaction with the requirement management module and is used for analyzing and structuring the software development requirement to obtain a structuring requirement;
the code development tool performs data interaction with the code management module and is used for generating a software code package for the structural requirement;
the code management module is used for carrying out addition, deletion, modification and query management on the software code package;
the test management tool and the test management module are used for carrying out data interaction and producing test cases for the software code package;
the test management module is used for adding, deleting, modifying and inquiring management to the test cases;
the code integration tool performs data interaction with the integration management module and is used for integrating at least one software code package to obtain a target software package;
and the integrated management module is used for adding, deleting, modifying and inquiring the target software package.
According to another aspect of the present invention, there is provided an electronic apparatus including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the software development management method of any one of the embodiments of the invention.
According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for causing a processor to execute a software development management method of any one of the embodiments of the present invention.
According to the technical scheme, at least one software development requirement is determined, and based on a document structuring tool, structuring processing is carried out on the software development requirement to obtain a structuring requirement corresponding to the software development requirement; generating a software code package for the structured requirements based on the code development tool; generating a test case for the software code package based on the test management tool; and integrating at least one software code package according to the running result of the test case to obtain a target software package. According to the technical scheme, management of software requirements, software codes, software test cases and software packages in the software development process is achieved, tools such as a document structuring tool, a code development tool and a test management tool in the software development process are pulled through, data in each software development stage are not isolated, data connection among the software development stages is established, bidirectional traceability management in the software development process is achieved, the speed of solving fault problems in the software development process is improved, and therefore the software development efficiency is improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention or to delineate the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a software development management method according to a first embodiment of the present invention;
FIG. 2 is a flowchart of a software development management method according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of a software development management apparatus according to a third embodiment of the present invention;
FIG. 4 is a schematic structural diagram of a software development management system according to a fourth embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device implementing a software development management method according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the term "object" and the like in the description of the present invention and the claims and the above drawings are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
In addition, in the technical scheme of the invention, the processing such as collection, storage, use, processing, transmission, provision and disclosure of related software development requirements and the like all meet the requirements of related laws and regulations and do not violate the popular regulations.
Example 1
Fig. 1 is a flowchart of a software development management method according to an embodiment of the present invention, where the method may be implemented by a software development management apparatus, and the apparatus may be implemented in hardware and/or software, and may be configured in an electronic device, and the electronic device may be a server. As shown in fig. 1, the method includes:
s101, determining at least one software development requirement, and carrying out structuring processing on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement.
The software development requirement refers to the requirement of automobile software development determined according to the automobile project target and plan and the actual service requirement. Document structuring tool refers to a tool for parsing and structuring software development requirements, for example, the document structuring tool may be one of Confluence, pingCode, worktile and Gitbook et al. Optionally, the document structuring tool may be preset according to the actual service requirement, or may be selected randomly, which is not specifically limited in the embodiment of the present invention. The structuring requirement refers to a requirement obtained after the software development requirement is structured. It should be noted that a software development requirement corresponds to a structuring requirement.
Specifically, the processing priority of the software development requirement can be determined according to the importance degree of the software development requirement; and carrying out structuring processing on the software development requirements by adopting a document structuring tool according to the processing priority of the software development requirements to obtain structuring requirements corresponding to the software development requirements.
Optionally, based on the document structuring tool, the structuring process is performed on the software development requirement, so as to obtain a structuring requirement corresponding to the software development requirement, which may be: decomposing the software development requirements according to the application functions in the software development requirements to obtain at least one sub-software development requirement; and carrying out structuring processing on at least one sub-software development requirement based on the document structuring tool to obtain a sub-structuring requirement corresponding to the at least one sub-software development requirement.
Specifically, for each software development requirement, decomposing the software development requirement according to the rejection relation between application functions in the software development requirement to obtain at least one sub-software development requirement; furthermore, for each sub-software development requirement in each software development requirement, a document structuring tool is adopted to carry out structuring processing on the sub-software development requirement, so as to obtain a sub-structuring requirement corresponding to the sub-software development requirement.
It should be noted that there is an application function a and an application function B, and if only one application function a and one application function B appears in the application environment at most, there is a rejection relationship between the application function a and the application function B. It should be noted that, one software development requirement includes at least one sub-software development requirement, one structuring requirement includes at least one sub-structuring requirement, and one sub-software development requirement corresponds to one sub-structuring requirement.
It can be understood that the software requirement is decomposed into individual sub-software development requirements according to the application function in the software development requirements, and the whole is zero, so that the structuring processing of the document structuring tool on the software development requirements is quickened.
S102, generating a software code package for the structural requirement based on the code development tool.
The code development tool is a tool for developing software codes, and is specifically used for generating a software code package for the structuring requirement; the code development tool may be preset according to actual service requirements, for example, the code development tool may be one of c++, java, and the like.
Specifically, for each structuring requirement, a code development tool is adopted to produce a corresponding software code package for the structuring requirement according to the application function in the structuring requirement. It should be noted that a structuring requirement corresponds to a software code package.
Optionally, for each structuring requirement, the structuring requirement may be decomposed according to a decomposition relationship between application functions in the structuring requirement, to obtain at least one sub-structuring requirement; further, for each sub-structured requirement in each structured requirement, a code development tool is employed to generate a corresponding sub-software code package for the sub-structured requirement.
It should be noted that, if there is An application function a, the application function a may be decomposed into a series of sub-application functions, that is, a= { A1, A2, …, an }, where n is a positive integer, there is a decomposition relationship between the application function a and any sub-application function thereof. It should be noted that, one structuring requirement includes at least one sub-structuring requirement, one software code includes at least one sub-software code package, and one sub-structuring requirement corresponds to one sub-software code package.
S103, generating test cases for the software code package based on the test management tool.
The test management tool is a tool used in a software test stage, and is specifically used for generating test cases for a software code package. The test case refers to a group of documents which are composed of elements such as test input, execution conditions, expected results and the like so as to finish testing on a specific requirement.
Specifically, for each software code package, a test management tool is adopted to write test cases meeting the corresponding structural requirements of the software code package for the software code package.
Optionally, a code development tool is adopted to generate a corresponding sub-software code package for the sub-structuring requirements in the structuring requirements; and further, adopting a test management tool to write sub-test cases meeting the sub-structural requirements corresponding to the sub-software code package for the sub-software code package.
S104, integrating at least one software code package according to the running result of the test case to obtain a target software package.
The target software package refers to a software package at the level of the controller and is used for realizing application functions on the controller.
Specifically, running test cases corresponding to each software code package, and under the condition that each test case passes the test, extracting an integration rule corresponding to each software code package from a preset code package integration library; integrating each software code package according to the corresponding integration rule of each software code package to obtain a target software package; and under the condition that at least one test case does not pass, performing fault checking until all the test cases pass the test. It should be noted that, the preset code package integration library is used for storing the integration rule corresponding to the software code package; the preset code package integrated library can be preset according to software development requirements, and the embodiment of the invention does not limit the code package integrated library specifically.
According to the technical scheme, at least one software development requirement is determined, and based on a document structuring tool, structuring processing is carried out on the software development requirement to obtain a structuring requirement corresponding to the software development requirement; generating a software code package for the structured requirements based on the code development tool; generating a test case for the software code package based on the test management tool; and integrating at least one software code package according to the running result of the test case to obtain a target software package. According to the technical scheme, management of software requirements, software codes, software test cases and software packages in the software development process is achieved, tools such as a document structuring tool, a code development tool and a test management tool in the software development process are pulled through, data in each software development stage are not isolated, data connection among the software development stages is established, bidirectional traceability management in the software development process is achieved, the speed of solving fault problems in the software development process is improved, and therefore the software development efficiency is improved.
Example two
Fig. 2 is a flowchart of a software development management method according to a second embodiment of the present invention, where on the basis of the foregoing embodiment, the embodiment further optimizes "integrating at least one software code package according to the running result of the test case, to obtain a target software package" to provide an alternative implementation manner. In the embodiments of the present invention, parts not described in detail may be referred to for related expressions of other embodiments. As shown in fig. 2, the method includes:
S201, determining at least one software development requirement, and carrying out structuring processing on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement.
S202, generating a software code package for the structural requirement based on a code development tool.
S203, generating test cases for the software code packages based on the test management tool.
S204, running the test case, and determining whether the test case passes the test.
It should be noted that, one software development requirement corresponds to one structuring requirement, one structuring requirement corresponds to one software code package, and one software code package corresponds to one test case. Correspondingly, one software development requirement corresponds to one test case.
Specifically, for each test case, the test case is operated, if the test case can meet the corresponding software development requirement, the test case passes the test, otherwise, the test case does not pass the test.
S205, if the test case passes the test, integrating at least one software code package to generate a target software package.
The target software package refers to a software package at the level of the controller and is used for realizing application functions on the controller.
Specifically, under the condition that the test case meets the corresponding software development requirement, determining that the test case passes the test; based on a preset integration rule, integrating the software code package corresponding to the test case by adopting a code integration tool (such as Jenkins) to obtain a target software package.
It should be noted that, the preset integration rule is used for integrating the software code package, and may be preset according to the actual service requirement, which is not specifically limited in the embodiment of the present invention. Jenkins is an open source software project, is a continuous integration tool based on Java development, is used for monitoring continuous repeated work, and aims to provide an open and easy-to-use software platform so that the software project can be continuously integrated.
Optionally, integrating at least one software code package to generate a target software package may be: analyzing at least one software code package to obtain an application function identifier corresponding to at least one software code; extracting the function dependency relationship among the application functions from a preset database according to the application function identifiers; and integrating at least one software code package according to the application function identification and the function dependency relationship to generate a target software package.
The application function identifier is used for uniquely identifying the application function; alternatively, the application function identifier may take the form of numbers, letters, or numbers plus letters, etc. The preset database is used for storing data in the software development process, for example, the preset database can store the dependency relationship between application functions. Functional dependencies refer to interdependencies between application functions. Optionally, the functional dependencies include exclusive relationships, resolved relationships, required relationships, and similar relationships.
It should be noted that a software code package corresponds to an application function identifier. It should be noted that, there is an application function a and an application function B, and if only one application function a and one application function B exist in the application environment at most, the function dependency relationship between the application function a and the application function B is a rejection relationship.
It should be noted that, there is An application function a, if the application function a can be decomposed into a series of sub-application functions, i.e., a= { A1, A2, …, an }, where n is a positive integer, the functional dependency relationship between the application function a and any of the sub-application functions is a decomposition relationship.
It should be noted that there is an application function a and an application function B, and if the implementation of the application function a is that of the application function B, the functional dependency relationship between the application function a and the application function B is a required relationship.
It should be noted that, there is an application function a and an application function B, and if the implementation targets of the application function a and the application function B are identical, only there is a slight difference in implementation details, the functional dependency relationship between the application function a and the application function B is a similar relationship.
Specifically, at least one software code package is analyzed to obtain an application function identifier corresponding to at least one software code; extracting the function dependency relationship among the application functions from a preset database according to the application function identifiers; and integrating at least one software code package by adopting a code integration tool (such as Jenkins) according to the application function identification and the function dependency relationship to generate a target software package.
It can be understood that the software code package is integrated according to the function dependency relationship between the application functions corresponding to the software code package, so that the error rate of the integration can be reduced, and the efficiency and accuracy of the integration of the software code package are improved.
S206, if the test case does not pass the test, debugging the software code package and/or the structural requirement.
Specifically, under the condition that the test case does not meet the corresponding software development requirement, determining that the test case does not pass the test; and debugging the software code package or the structural requirement corresponding to the test case.
S207, updating the test cases according to the error checking result, generating new test cases, and running the new test cases until the new test cases pass the test.
Specifically, according to the error detection result, generating a fault analysis report, and sending the fault analysis report to a professional maintenance personnel, so that the professional maintenance personnel trace back the position of the fault (namely, the software code package or the structuring requirement corresponding to the test case) according to the fault analysis report, and adjust the software code package or the structuring requirement corresponding to the test case; updating the test cases according to the adjusted software code package or the structural requirement to generate new test cases, and running the new test cases until the new test cases pass the test; and then S205 is performed.
Optionally, performing error checking on the structuring requirement, and adjusting the structuring requirement according to an error checking result to obtain an adjusted structuring requirement; generating a new software code package based on the adjusted structuring requirement, and generating a new test case based on the new software code package; and/or, debugging the software code package, and adjusting the software code package according to the debugging result to obtain an adjusted software code package; and generating a new test case based on the adjusted software code package.
For example, under the condition that the test case does not pass the test, the structural requirement corresponding to the test case can be subjected to error checking, and the structural requirement corresponding to the test case is adjusted according to the error reason in the error checking result, so that the adjusted structural requirement is obtained; a new software code package is generated for the adjusted structured requirements using a code development tool (e.g., C++ or Java), and a new test case is generated for the new software code package using a test management tool.
For example, under the condition that the test case does not pass the test, the software code package corresponding to the test case is subjected to error checking, and the software code package corresponding to the test case is adjusted according to the error reason in the error checking result, so as to obtain an adjusted software code package; and generating a new test case for the adjusted software code package by adopting a test management tool.
For example, under the condition that the test case does not pass the test, the structural requirement corresponding to the test case can be firstly subjected to error checking, and under the condition that the structural requirement does not have a problem, the software code package corresponding to the test case is subjected to error checking until the reason that the test case does not pass is found.
It can be understood that under the condition that the test case does not pass the test, according to the association relationship among the test case, the software code package and the structural requirement, the reason that the test case does not pass the test is traced back, and the problem that the fault problem is difficult to trace back in the development process of the automobile software is solved.
According to the technical scheme, whether the software code package can meet the corresponding structural requirements or not is detected by running the test case; if yes, integrating the software code package corresponding to the test case to obtain a target software package; if not, the software code package and/or the structural requirement corresponding to the test case are subjected to error checking, so that the problem that the software with different functions and different versions cannot be cooperatively tested and adjusted under the condition of ensuring normal development of the software of the automobile is solved, the convenient development of the software of the automobile is realized, and the delivery efficiency of the software code package is improved.
Example III
Fig. 3 is a schematic structural diagram of a software development management apparatus according to a third embodiment of the present invention, where the present embodiment is applicable to a case of managing an automobile software development process, and the apparatus may be implemented in a form of hardware and/or software, and may be configured in an electronic device, which may be a server. As shown in fig. 3, the apparatus includes:
The structuring requirement determining module 301 is configured to determine at least one software development requirement, and perform structuring processing on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement;
a software code package generation module 302 for generating a software code package for the structured requirements based on the code development tool;
the test case generation module 303 is configured to generate a test case for the software code package based on the test management tool;
the target software package determining module 304 is configured to integrate at least one software code package according to the running result of the test case, so as to obtain a target software package.
According to the technical scheme, at least one software development requirement is determined, and based on a document structuring tool, structuring processing is carried out on the software development requirement to obtain a structuring requirement corresponding to the software development requirement; generating a software code package for the structured requirements based on the code development tool; generating a test case for the software code package based on the test management tool; and integrating at least one software code package according to the running result of the test case to obtain a target software package. According to the technical scheme, management of software requirements, software codes, software test cases and software packages in the software development process is achieved, tools such as a document structuring tool, a code development tool and a test management tool in the software development process are pulled through, data in each software development stage are not isolated, data connection among the software development stages is established, bidirectional traceability management in the software development process is achieved, the speed of solving fault problems in the software development process is improved, and therefore the software development efficiency is improved.
Optionally, the target software package determination module 304 includes:
the test case test unit is used for running the test case and determining whether the test case passes the test;
and the target software package generating unit is used for integrating at least one software code package if the test case passes the test to generate a target software package.
The error checking unit is used for checking errors of the software code package and/or the structural requirement if the test case does not pass the test;
the test case generation unit is used for updating the test case according to the error checking result, generating a new test case, and running the new test case until the new test case passes the test.
Optionally, the target software package generating unit is specifically configured to:
analyzing at least one software code package to obtain an application function identifier corresponding to at least one software code;
extracting the function dependency relationship among the application functions from a preset database according to the application function identifiers;
and integrating at least one software code package according to the application function identification and the function dependency relationship to generate a target software package.
Optionally, the functional dependencies include exclusive relationships, resolved relationships, required relationships, and similar relationships.
Optionally, the test case generating unit is specifically configured to:
debugging the structuring requirement, and adjusting the structuring requirement according to the debugging result to obtain an adjusted structuring requirement;
generating a new software code package based on the adjusted structuring requirement, and generating a new test case based on the new software code package; and/or the number of the groups of groups,
debugging the software code package, and adjusting the software code package according to the debugging result to obtain an adjusted software code package;
and generating a new test case based on the adjusted software code package.
Optionally, the structural requirement determining module 301 is specifically configured to:
decomposing the software development requirements according to the application functions in the software development requirements to obtain at least one sub-software development requirement;
and carrying out structuring processing on at least one sub-software development requirement based on the document structuring tool to obtain a sub-structuring requirement corresponding to the at least one sub-software development requirement.
The software development management device provided by the embodiment of the invention can execute the software development management method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of executing the software development management methods.
Example IV
Fig. 4 is a schematic structural diagram of a software development management system according to a fourth embodiment of the present invention, where, as shown in fig. 4, the software development management system includes: the system comprises a demand management module, a code management module, a test management module, an integration management module, a document structuring tool, a code development tool, a test management tool and a code integration tool;
the demand management module is used for carrying out addition, deletion, modification and query management on the software development demands;
the document structuring tool performs data interaction with the requirement management module and is used for analyzing and structuring the software development requirement to obtain a structuring requirement;
the code development tool performs data interaction with the code management module and is used for generating a software code package for the structural requirement;
the code management module is used for carrying out addition, deletion, modification and query management on the software code package;
the test management tool and the test management module are used for carrying out data interaction and producing test cases for the software code package;
the test management module is used for adding, deleting, modifying and inquiring management to the test cases;
the code integration tool performs data interaction with the integration management module and is used for integrating at least one software code package to obtain a target software package;
And the integrated management module is used for adding, deleting, modifying and inquiring the target software package.
It should be noted that, the document structuring tool, the code development tool, the code integration tool, and the test management tool may be preset according to actual service requirements, for example, the document structuring tool may be one of Confluence, pingCode, worktile and Gitbook, etc.; the code development tool can be C++, java or the like; the code integration tool may be Jenkins.
It should be noted that, the requirement management module may perform data interaction with the code management module and the test management module; the code management module can perform data interaction with the test management module and the integrated management module; the test management module may interact with the integrated management module.
In addition, the software development management system may further include a code management tool, an article management module, an article management tool, a software release management module, a software upgrade tool, a software change management module, and a design change-related tool. It should be noted that, the product management module may perform data interaction with the integrated management module and the software release management module, and the software change management module may perform data interaction with the software release management module and the requirement management module. It should be noted that, the code management tool, the product management tool, the software upgrading tool and the design change related tool may be preset according to the actual service requirement, for example, the code management tool may be one of a Gitlab, a Gitee, etc.; the article management tool may be JFRog.
According to the technical scheme, the document structuring tool, the code development tool, the test management tool and other tools in the software development process are pulled through, so that data of each software development stage does not exist in isolation, data connection among the software development stages is established, and bidirectional traceability management in the software development process is realized.
Example five
Fig. 5 shows a schematic diagram of the structure of an electronic device 10 that may be used to implement an embodiment of the invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic equipment may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 5, the electronic device 10 includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, in which the memory stores a computer program executable by the at least one processor, and the processor 11 may perform various appropriate actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM13, various programs and data required for the operation of the electronic device 10 may also be stored. The processor 11, the ROM12 and the RAM13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
Various components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, etc.; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 performs the respective methods and processes described above, such as a software development management method.
In some embodiments, the software development management method may be implemented as a computer program tangibly embodied on a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM12 and/or the communication unit 19. When the computer program is loaded into the RAM13 and executed by the processor 11, one or more steps of the software development management method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the software development management method in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.

Claims (10)

1. A software development management method, comprising:
determining at least one software development requirement, and carrying out structuring processing on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement;
generating a software code package for the structured requirements based on a code development tool;
generating a test case for the software code package based on a test management tool;
And integrating at least one software code package according to the operation result of the test case to obtain a target software package.
2. The method according to claim 1, wherein integrating at least one software code package according to the running result of the test case to obtain a target software package includes:
running the test case, and determining whether the test case passes the test;
and if the test case passes the test, integrating at least one software code package to generate a target software package.
If the test case does not pass the test, debugging the software code package and/or the structural requirement;
and updating the test cases according to the error checking result to generate new test cases, and operating the new test cases until the new test cases pass the test.
3. The method of claim 2, wherein integrating at least one of the software code packages generates a target software package, comprising:
analyzing at least one software code package to obtain at least one application function identifier corresponding to the software code;
Extracting the function dependency relationship among the application functions from a preset database according to the application function identifiers;
and integrating at least one software code package according to the application function identifier and the function dependency relationship to generate a target software package.
4. A method according to claim 3, wherein the functional dependencies include exclusive relationships, resolved relationships, required relationships, and similar relationships.
5. The method of claim 2, wherein updating the test case based on the error detection result to generate a new test case comprises:
performing error checking on the structuring requirement, and adjusting the structuring requirement according to an error checking result to obtain an adjusted structuring requirement;
generating a new software code package based on the adjusted structuring requirement, and generating a new test case based on the new software code package; and/or the number of the groups of groups,
debugging the software code package, and adjusting the software code package according to the debugging result to obtain an adjusted software code package;
and generating a new test case based on the adjusted software code package.
6. The method of claim 1, wherein structuring the software development requirements based on a document structuring tool to obtain structured requirements corresponding to the software development requirements, comprises:
Decomposing the software development requirement according to the application function in the software development requirement to obtain at least one sub-software development requirement;
and carrying out structuring processing on the at least one sub-software development requirement based on a document structuring tool to obtain a sub-structuring requirement corresponding to the at least one sub-software development requirement.
7. A software development management apparatus, comprising:
the structuring requirement determining module is used for determining at least one software development requirement, and carrying out structuring treatment on the software development requirement based on a document structuring tool to obtain a structuring requirement corresponding to the software development requirement;
the software code package generation module is used for generating a software code package for the structuring requirement based on a code development tool;
the test case generation module is used for generating a test case for the software code package based on a test management tool;
and the target software package determining module is used for integrating at least one software code package according to the running result of the test case to obtain a target software package.
8. The software development management system is characterized by comprising a requirement management module, a code management module, a test management module, an integration management module, a document structuring tool, a code development tool, a test management tool and a code integration tool;
The demand management module is used for carrying out addition, deletion, modification and query management on software development demands;
the document structuring tool is used for carrying out data interaction with the requirement management module and analyzing and structuring the software development requirement to obtain a structuring requirement;
the code development tool performs data interaction with the code management module and is used for generating a software code package for the structuring requirement;
the code management module is used for carrying out addition, deletion, modification and query management on the software code package;
the test management tool performs data interaction with the test management module and is used for producing test cases for the software code package;
the test management module is used for carrying out addition, deletion, modification and query management on the test cases;
the code integration tool performs data interaction with the integration management module and is used for integrating at least one software code package to obtain a target software package;
and the integrated management module is used for carrying out addition, deletion, modification and query management on the target software package.
9. An electronic device, the electronic device comprising:
At least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the software development management method of any one of claims 1-6.
10. A computer readable storage medium storing computer instructions for causing a processor to implement the software development management method of any one of claims 1-6 when executed.
CN202310941605.XA 2023-07-28 2023-07-28 Software development management method, device, system, equipment and storage medium Pending CN116737121A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310941605.XA CN116737121A (en) 2023-07-28 2023-07-28 Software development management method, device, system, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310941605.XA CN116737121A (en) 2023-07-28 2023-07-28 Software development management method, device, system, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116737121A true CN116737121A (en) 2023-09-12

Family

ID=87908221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310941605.XA Pending CN116737121A (en) 2023-07-28 2023-07-28 Software development management method, device, system, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116737121A (en)

Similar Documents

Publication Publication Date Title
CN116089258A (en) Data migration test method, device, equipment, storage medium and program product
CN115576831A (en) Test case recommendation method, device, equipment and storage medium
CN115455091A (en) Data generation method and device, electronic equipment and storage medium
CN115344495A (en) Data analysis method and device for batch task test, computer equipment and medium
CN114330221B (en) Score board implementation method, score board, electronic device and storage medium
CN115687406A (en) Sampling method, device and equipment of call chain data and storage medium
CN107273293B (en) Big data system performance test method and device and electronic equipment
CN115658478A (en) Test case screening method and device, electronic equipment and storage medium
CN115509602A (en) Project management method, device, equipment and storage medium
CN116737121A (en) Software development management method, device, system, equipment and storage medium
CN114693116A (en) Method and device for detecting code review validity and electronic equipment
CN114116688A (en) Data processing and data quality inspection method, device and readable storage medium
CN116955504B (en) Data processing method and device, electronic equipment and storage medium
CN115098405B (en) Software product evaluation method and device, electronic equipment and storage medium
CN116401113B (en) Environment verification method, device and medium for heterogeneous many-core architecture acceleration card
CN116483735B (en) Method, device, storage medium and equipment for analyzing influence of code change
CN114238149A (en) Batch testing method of accounting system, electronic device and storage medium
CN117724980A (en) Method and device for testing software framework performance, electronic equipment and storage medium
CN116594827A (en) Automatic test method and device for hardware equipment, workbench, equipment and medium
CN116225390A (en) Warehouse-in method, device, equipment and medium for software development files
CN117251167A (en) Software bill of materials construction method, device, equipment and medium
CN115312114A (en) Method, apparatus, device and medium for testing RAM
CN114996157A (en) Method, device, equipment and storage medium for identifying risk of changing code
CN116383058A (en) Conversion method and device of software system model, electronic equipment and medium
CN115309717A (en) Database loading method, device, equipment, medium and computer program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination