A software development system based on encryption algorithm
By using a software development system based on encryption algorithms, customer needs are analyzed, a basic software framework is constructed, and functional modules are added. This solves the problems of difficulty and long development cycles in traditional software development, and achieves efficient software development and secure encryption processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN NEPENTROPY TECH CO LTD
- Filing Date
- 2022-08-16
- Publication Date
- 2026-07-21
AI Technical Summary
In traditional software development, the process is difficult and time-consuming, relying heavily on the comprehensive abilities and speed of technical personnel, which leads to high work pressure for developers.
The software development system based on encryption algorithms includes a requirements definition module, a first design module, a second design module, an encryption module, and a testing module. By analyzing customer requirements, the basic software framework is constructed, functional modules are added, and encryption processing and testing are performed.
It reduces the workload of software developers, improves development efficiency, ensures that the software meets customer requirements, and reduces system operating pressure.
Smart Images

Figure CN115373641B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software development technology, and in particular to a software development system based on an encryption algorithm. Background Technology
[0002] Software development is the process of building a software system or a software component of a system according to user requirements. It is a systematic engineering project encompassing requirements gathering, requirements analysis, design, implementation, and testing. Software is generally implemented using a programming language. Traditional software development emphasizes breadth of technical skills and comprehensive abilities, expecting engineers to be versatile and to meet requirements quickly and cost-effectively. Furthermore, traditional software development relies entirely on software developers for software design, leading to difficulties and long development cycles. Therefore, this invention proposes a system for rapid software development based on encryption algorithms. Summary of the Invention
[0003] This invention provides a software development system based on an encryption algorithm to solve the above-mentioned problems and to provide a software development system that can reduce the workload of software developers.
[0004] This invention provides a software development system based on an encryption algorithm, comprising:
[0005] The requirements determination module is used to obtain customer requirements, analyze the customer requirements, and determine the customer's design requirements and design innovation points.
[0006] The first design module is used to obtain multiple relevant main modules from the software design database according to the software design requirements and construct the basic skeleton of the software to be developed.
[0007] The second design module is used to determine the software functions of the software to be developed according to the software design requirements, add first-level functional modules to the basic skeleton based on the software functions, and add second-level functional modules to the basic skeleton according to the design innovation points to obtain the software design result.
[0008] An encryption module is used to encrypt the software design results to obtain the developed software;
[0009] The testing module is used to test and verify the developed software, and to determine whether the developed software can be submitted to the project based on the test results.
[0010] Preferably, the demand determination module includes:
[0011] The requirements receiving unit is used to receive the client's software design requirements for the software to be developed.
[0012] The requirements analysis unit is used to analyze the software design requirements of the customer received by the requirements receiving unit and extract primary and secondary keywords.
[0013] The requirement determination unit is used to determine the customer's design requirements for the software to be developed based on the primary keywords, and to determine the design innovation points of the software to be developed based on the secondary keywords.
[0014] Preferably, the first design module includes:
[0015] The direction determination unit is used to determine the design direction and design purpose of the software to be developed based on the customer's design requirements for the software to be developed.
[0016] The skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and to construct the basic skeleton of the software to be developed.
[0017] Preferably, the skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and construct the basic skeleton of the software to be developed, specifically including:
[0018] Based on the design direction and design purpose, determine the application field of the software to be developed, and based on the application field, obtain historically developed software in the same field;
[0019] Based on the design purpose of the historically developed software, the historically developed software is classified to obtain multiple software groups;
[0020] Based on the software grouping, generate a software classification table for the application domain;
[0021] Based on the software classification table, a longitudinal comparison is performed to obtain the commonalities in the software architecture framework of different software groups, which serve as the first characteristic of software development in the application domain.
[0022] Obtain target software groups with the same design purpose as the software to be developed from the software classification table, and obtain the commonalities in the software framework of the target software groups as the second feature of software development in the application domain;
[0023] Based on the first feature and the second feature, the corresponding target main module is obtained from the software design database;
[0024] Obtain the running data and covered functions corresponding to the target main module, and determine whether there are duplicate modules among all target main modules. If not, determine that all target main modules are the final target main modules.
[0025] If so, the non-duplicate module is determined to be the final target main module. At the same time, the duplicate modules are compared, and it is determined whether the duplicate modules are completely duplicate modules based on the comparison results. If the duplicate modules are completely duplicate modules, only one completely duplicate module is retained as the final target module.
[0026] If the repeating module is a partially repeating module, obtain the differentiated functions of the partially repeating module; at the same time, obtain the first design idea of the historically developed software that includes the partially repeating module.
[0027] A second design idea for the software to be developed is generated based on the customer's design requirements. The first design idea and the second design idea are compared to obtain the similarity of ideas.
[0028] Based on the similarity of ideas, it is determined whether the difference function is applicable to the software to be developed. If the similarity of ideas is less than or equal to a preset value, it is determined that the difference function is not applicable to the software to be developed. The basic module framework of the non-completely duplicated module is obtained. After deleting the part of the module framework corresponding to the difference function, the final target main module is generated.
[0029] If the similarity of the ideas is greater than a preset value, it is determined that the difference function is applicable to the software to be developed, and the non-completely duplicated module is determined as the final target main module.
[0030] Based on the second design concept, the first connection relationship of all final target main modules is determined;
[0031] Based on the first connection relationship, all the final target main modules are spliced together to construct the basic skeleton of the software to be developed.
[0032] Preferably, the second design module includes:
[0033] The first function addition unit is used to determine the functions to be implemented in the software to be developed based on the software design requirements, and add a first-level function module to the corresponding final target main module according to the functions to be implemented and the software design database.
[0034] The second function addition unit is used to acquire the design innovation of the software to be developed and to determine whether the function corresponding to the design innovation point already has a corresponding first-level function module.
[0035] If so, the corresponding first-level functional module is taken as the target module, and the software developers are notified to adjust the running algorithm of the target module according to the design innovation points to obtain the second-level functional module;
[0036] If not, send the design innovation to the software developers to build a new functional module as a secondary functional module.
[0037] Preferably, the second function adding unit includes:
[0038] The judgment subunit is used to determine the addition location of the secondary functional module;
[0039] If the secondary functional module has a corresponding level of main module, the secondary functional module is added to the level of the corresponding final target main module;
[0040] If the secondary functional module does not have a corresponding primary module, the secondary functional module will be added to the basic skeleton as a new final target primary module.
[0041] Preferably, the second function adding unit further includes:
[0042] The location determination subunit is used to obtain the second data types corresponding to all the second functional modules to be added when the second functional module does not have a corresponding level of main module, and to establish a second function-data list;
[0043] Obtain the first connection relationship of the final target main module on the basic skeleton and the first data type processed by each final target main module, and determine the mapping relationship between the first data type and the first connection relationship;
[0044] Based on the mapping relationship and the second function-data list, the second connection relationship of the second function module is determined.
[0045] Preferably, the encryption module includes:
[0046] The first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules;
[0047] The second encryption unit is used to encrypt the data connection port of the final target main module or functional module;
[0048] The access encryption unit is used to classify the staff involved in the software development process, assign permissions based on the classification results, and determine the access scope and login permissions of each staff member involved in the software development.
[0049] Preferably, the first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules, specifically including:
[0050] Based on the first connection relationship and the second connection relationship, a software data transmission relationship network is established, and a first relationship network diagram is generated.
[0051] Based on the relationship between each final target main module and functional module, the first relationship network is adjusted to generate a second relationship network diagram; wherein, the second relationship network diagram is connected by multiple relationship nodes, the relationship nodes include first-level relationship nodes and second-level relationship nodes, the first-level relationship nodes represent the final target main modules, and the second-level relationship nodes represent the functional modules included in the final target main modules;
[0052] Obtain all data from the data receiving module of the software to be developed, and classify all data according to data type to obtain multiple data groups. Based on software encryption rules, assign a set of data type codes to each data group as the first type of encryption code.
[0053] On the second relational network graph, determine the position of the target first-level relational node corresponding to the data receiving module and the data allocation relationship between the target first-level relational node and the remaining first-level relational nodes;
[0054] According to the data allocation relationship, the corresponding first type of data code is matched for the remaining first-level relationship node. When the remaining first-level relationship node has multiple first type of encryption codes, the remaining first-level relationship node is regarded as a multi-data relationship node.
[0055] Based on the combination rules of the first type of encryption code, the multiple first type of encryption codes corresponding to the multiple data relationship nodes are segmented respectively to obtain multiple special fields. The multiple special fields are combined to obtain new special fields. The new special fields are combined with the ordinary fields of the first type of encryption code to generate new first type of encryption code, which is used as the second type of encryption code.
[0056] When the remaining first-level relationship node has only one type of encryption code, the type of encryption code is used as the type of encryption code.
[0057] Based on the second relationship network graph, obtain the third connection relationship between the first-level relationship node and the second-level relationship node;
[0058] Based on the third connection relationship, submodule encryption numbers are assigned to the second-level relationship nodes, and special fields of the second encryption code are adjusted according to the submodule encryption numbers to obtain the third type of encryption code;
[0059] The second type of encryption code is added to the corresponding final target main module, the third type of encryption code is added to the corresponding functional module, and the corresponding running key is generated based on the third type of encryption code;
[0060] The software system under development calls the corresponding functional module to enter the working state through the running key. When the corresponding functional module enters the working state, its corresponding final target main module also enters the corresponding working state.
[0061] Preferably, the test module includes:
[0062] The processing unit is used to clear login permissions during the software development process, add user login code, and generate a user login interface.
[0063] The testing unit is used to log in from the user interface, test the developed software, and determine that the developed software is completed when the test results are consistent with the expected results, and submit the project.
[0064] Otherwise, the developed software is returned to the second design module, and the software developers are notified to adjust the software code.
[0065] The software testing includes white-box testing, functional testing, performance testing, and stress testing.
[0066] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings.
[0067] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0068] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:
[0069] Figure 1 This is a schematic diagram of the structure of a software development system based on an encryption algorithm according to an embodiment of the present invention;
[0070] Figure 2 This is a schematic diagram of the structure of a software development system requirements determination module based on an encryption algorithm in an embodiment of the present invention;
[0071] Figure 3 This is a schematic diagram of the structure of the first design module of a software development system based on an encryption algorithm in an embodiment of the present invention;
[0072] Figure 4 This is a schematic diagram of the structure of the second design module of a software development system based on an encryption algorithm in an embodiment of the present invention;
[0073] Figure 5 This is a schematic diagram of the structure of an encryption module in a software development system based on an encryption algorithm, according to an embodiment of the present invention.
[0074] Figure 6 This is a schematic diagram of the structure of a software development system test module based on an encryption algorithm in an embodiment of the present invention. Detailed Implementation
[0075] The preferred embodiments of the present invention will be described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.
[0076] Example 1:
[0077] This invention provides a software development system based on an encryption algorithm, such as... Figure 1 As shown, it includes:
[0078] The requirements determination module is used to obtain customer requirements, analyze the customer requirements, and determine the customer's design requirements and design innovation points.
[0079] The first design module is used to obtain multiple relevant main modules from the software design database according to the software design requirements and construct the basic skeleton of the software to be developed.
[0080] The second design module is used to determine the software functions of the software to be developed according to the software design requirements, add first-level functional modules to the basic skeleton based on the software functions, and add second-level functional modules to the basic skeleton according to the design innovation points to obtain the software design result.
[0081] An encryption module is used to encrypt the software design results to obtain the developed software;
[0082] The testing module is used to test and verify the developed software, and to determine whether the developed software can be submitted to the project based on the test results.
[0083] In this embodiment, the design innovation point refers to the difference between the software to be developed as required by the customer and existing similar software.
[0084] In this embodiment, the main module refers to the module that receives one or more types of data distributed by the data receiving module of the software to be developed. Each main module contains one or more functional modules, and each functional module can implement a function independently.
[0085] In this embodiment, the basic skeleton refers to a multi-module skeleton constructed based on the data distribution of all data in the software to be developed.
[0086] In this embodiment, the first-level functional module refers to the functional module that has been designed in the software design database; the second-level functional module refers to the functional module obtained based on the customer's design innovation.
[0087] In this embodiment, the software design database refers to a database that stores a large number of designed software (developed software), including the architecture, design ideas and related code of the developed software.
[0088] In this embodiment, software function refers to the functions required to achieve the purpose of the software to be developed, as determined by the purpose of the software.
[0089] In this embodiment, "software to be developed" refers to software that is currently being designed and developed, while "software already developed" refers to software that has been completed.
[0090] The beneficial effects of the above technical solution are as follows: Based on the requirement determination module, this invention analyzes customer needs to determine the customer's design requirements and design innovations for the software to be developed. The first software design module retrieves multiple relevant main modules from the software design database according to these requirements, constructing the basic framework of the software design. Then, the second software design module determines the software functions of the software design based on the requirements. Based on these functions, first-level functional modules are added to the basic framework. Simultaneously, second-level functional modules are added according to the design innovations, resulting in a software design outcome. This reduces the workload of software developers and improves software development efficiency. The encryption module encrypts the software design outcome to obtain the developed software, ensuring that only the user-defined portion runs during software operation, reducing system operating pressure. The testing module verifies the developed software to ensure it meets customer requirements and operates correctly.
[0091] Example 2:
[0092] Based on the above embodiment 1, the requirement determination module, such as Figure 2 As shown, it includes:
[0093] The requirements receiving unit is used to receive the client's software design requirements for the software to be developed.
[0094] The requirements analysis unit is used to analyze the software design requirements of the customer received by the requirements receiving unit and extract primary and secondary keywords.
[0095] The requirement determination unit is used to determine the customer's design requirements for the software to be developed based on the primary keywords, and to determine the design innovation points of the software to be developed based on the secondary keywords.
[0096] In this embodiment, primary keywords refer to the keywords that customers use to define the basic requirements for developing software, based on the general requirements of software design.
[0097] In this embodiment, secondary keywords refer to words extracted from primary keywords that represent the innovative points of the software to be developed compared with existing similar software.
[0098] The beneficial effects of the above technical solution are as follows: This invention extracts the keyword "watermelon" from the customer's software design requirements and classifies the keywords. Based on the classification results, the design requirements and design innovations of the software to be developed are determined, which helps to clarify the customer's basic design requirements and design difficulties (design innovations) and provides a basis for the subsequent design of the software to be developed.
[0099] Example 3:
[0100] Based on the above embodiment 1, the first design module, such as Figure 3 As shown, it includes:
[0101] The direction determination unit is used to determine the design direction and design purpose of the software to be developed based on the customer's design requirements for the software to be developed.
[0102] The skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and to construct the basic skeleton of the software to be developed.
[0103] In this embodiment, the relevant data includes the connection relationships between the main modules and the program code of the main modules.
[0104] The beneficial effects of the above technical solution are as follows: The present invention uses a direction determination unit to determine the design direction and design purpose of the software to be developed based on the customer's design requirements. Based on the design direction and design purpose, relevant data of the main module are obtained from the software design database, and the basic skeleton of the software to be developed is constructed. This accelerates the construction speed of the software skeleton, reduces the workload of software developers, and improves software development efficiency.
[0105] Example 4:
[0106] Based on the above embodiment 3, the skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and construct the basic skeleton of the software to be developed, specifically including:
[0107] Based on the design direction and design purpose, determine the application field of the software to be developed, and based on the application field, obtain historically developed software in the same field;
[0108] Based on the design purpose of the historically developed software, the historically developed software is classified to obtain multiple software groups;
[0109] Based on the software grouping, generate a software classification table for the application domain;
[0110] Based on the software classification table, a longitudinal comparison is performed to obtain the commonalities in the software architecture framework of different software groups, which serve as the first characteristic of software development in the application domain.
[0111] Obtain target software groups with the same design purpose as the software to be developed from the software classification table, and obtain the commonalities in the software framework of the target software groups as the second feature of software development in the application domain;
[0112] Based on the first feature and the second feature, the corresponding target main module is obtained from the software design database;
[0113] Obtain the running data and covered functions corresponding to the target main module, and determine whether there are duplicate modules among all target main modules. If not, determine that all target main modules are the final target main modules.
[0114] If so, the non-duplicate module is determined to be the final target main module. At the same time, the duplicate modules are compared, and it is determined whether the duplicate modules are completely duplicate modules based on the comparison results. If the duplicate modules are completely duplicate modules, only one completely duplicate module is retained as the final target module.
[0115] If the repeating module is a partially repeating module, obtain the differentiated functions of the partially repeating module; at the same time, obtain the first design idea of the historically developed software that includes the partially repeating module.
[0116] A second design idea for the software to be developed is generated based on the customer's design requirements. The first design idea and the second design idea are compared to obtain the similarity of ideas.
[0117] Based on the similarity of ideas, it is determined whether the difference function is applicable to the software to be developed. If the similarity of ideas is less than or equal to a preset value, it is determined that the difference function is not applicable to the software to be developed. The basic module framework of the non-completely duplicated module is obtained. After deleting the part of the module framework corresponding to the difference function, the final target main module is generated.
[0118] If the similarity of the ideas is greater than a preset value, it is determined that the difference function is applicable to the software to be developed, and the non-completely duplicated module is determined as the final target main module.
[0119] Based on the second design concept, the first connection relationship of all final target main modules is determined;
[0120] Based on the first connection relationship, all the final target main modules are spliced together to construct the basic skeleton of the software to be developed.
[0121] In this embodiment, historically developed software refers to previously developed software in the same field as the software to be developed, stored in the software design database.
[0122] In this embodiment, software grouping refers to classifying historically developed software according to the group design parent, with historically developed software with the same design purpose grouped together.
[0123] In this embodiment, the software classification table refers to a list of design objectives and historically developed software that are established based on the grouping results of the software.
[0124] In this embodiment, longitudinal comparison refers to comparing historically developed software with different design purposes.
[0125] In this embodiment, the first feature refers to the commonalities of the software architecture skeletons of different software groups, such as the setting of the data receiving module; the second feature refers to the commonalities of the software architecture skeletons of software groups with the same design purpose as the software to be developed.
[0126] In this embodiment, the target software group refers to the software group that has the same design purpose as the software to be developed.
[0127] In this embodiment, the target main module refers to the relevant data of the main module obtained by searching the software design database based on the first feature and the second feature. The relevant data includes the corresponding program code, running data and covered functions.
[0128] In this embodiment, a duplicate module refers to two or more target main modules that have some or all of the same running data and covered functions; a completely duplicate module refers to two or more target main modules that have completely identical running data and covered functions; and a partially duplicate module refers to two or more target main modules that have some of the same running data and covered functions.
[0129] In this embodiment, the final target main module refers to the target main module that is ultimately used to build the basic skeleton of the software to be developed.
[0130] In this embodiment, a non-duplicating module refers to a target main module whose functions do not overlap with those of other target main modules.
[0131] In this embodiment, the difference function refers to the function corresponding to the different functional modules included in the comparison between modules that are not completely duplicated.
[0132] In this embodiment, the first design idea refers to the design idea of historically developed software that includes modules that are not completely duplicated; the second design idea is the design idea of the software to be developed.
[0133] In this embodiment, the idea similarity is used to characterize the degree of similarity between the first design idea and the second design idea.
[0134] In this embodiment, the basic module framework refers to the framework of a non-completely repetitive module, that is, which functional modules the non-completely repetitive module contains; the partial module framework refers to the framework corresponding to the different functions.
[0135] In this embodiment, the first connection relationship refers to the connection relationship of the final target main module.
[0136] The beneficial effects of the above technical solution are as follows: This invention uses the commonalities (first feature) in the skeleton construction of historically developed software in the same application field as the software to be developed, and the commonalities (second feature) in historically developed software with the same design purpose as the software to be developed, to filter and obtain target main modules in a software design database. Then, redundant (partially duplicated modules) are removed from these target main modules to obtain the final target main module, thus establishing the basic skeleton. This invention helps to accelerate the construction of the software skeleton, reduce the workload of software developers, and improve software development efficiency.
[0137] Example 5:
[0138] Based on the above embodiment 1, the second design module, such as Figure 4 As shown, it includes:
[0139] The first function addition unit is used to determine the functions to be implemented in the software to be developed based on the software design requirements, and add a first-level function module to the corresponding final target main module according to the functions to be implemented and the software design database.
[0140] The second function addition unit is used to acquire the design innovation of the software to be developed and to determine whether the function corresponding to the design innovation point already has a corresponding first-level function module.
[0141] If so, the corresponding first-level functional module is taken as the target module, and the software developers are notified to adjust the running algorithm of the target module according to the design innovation points to obtain the second-level functional module;
[0142] If not, send the design innovation to the software developers to build a new functional module as a secondary functional module.
[0143] In this embodiment, the function to be implemented refers to the achievable function already present in the software design database included in the software to be developed.
[0144] In this embodiment, the target module refers to a first-level functional module that has the same function and design innovation.
[0145] The beneficial effects of the above technical solution are as follows: Based on the functions to be implemented in the software to be developed, the present invention obtains the running code of the designed functional modules (first-level functional modules) from the software design database, adds the running code to the main module, and the software development system autonomously adds relevant data to the basic skeleton of the software to be developed according to the software design requirements, thus completing the addition of the first-level functional modules of the software to be developed; subsequently, based on the actual situation, the specific work that the developers need to perform on the corresponding functional modules (second-level functional modules) of the design innovation points (adjusting the running algorithm or building new functional modules) is determined, thereby minimizing the workload of the developers, simplifying the software development process, and shortening the development time.
[0146] Example 6:
[0147] Based on the above embodiment 5, the second functional addition unit, such as Figure 4 As shown, it includes:
[0148] The judgment subunit is used to determine the addition location of the secondary functional module;
[0149] If the secondary functional module has a corresponding level of main module, the secondary functional module is added to the level of the corresponding final target main module;
[0150] If the secondary functional module does not have a corresponding primary module, the secondary functional module will be added to the basic skeleton as a new final target primary module.
[0151] The beneficial effects of the above technical solution are as follows: The present invention determines the addition position of the secondary functional module by judging the sub-unit; if the secondary functional module has a corresponding final target main module, the secondary functional module is added to the corresponding final target main module; if the secondary functional module does not have a corresponding final target main module, the secondary functional module is added to the basic skeleton as a new final target main module.
[0152] Example 7:
[0153] Based on the above embodiment 5, the second functional addition unit, such as Figure 4 As shown, it also includes:
[0154] The location determination subunit is used to obtain the second data types corresponding to all the second functional modules to be added when the second functional module does not have a corresponding level of main module, and to establish a second function-data list;
[0155] Obtain the first connection relationship of the final target main module on the basic skeleton and the first data type processed by each final target main module, and determine the mapping relationship between the first data type and the first connection relationship;
[0156] Based on the mapping relationship and the second function-data list, the second connection relationship of the second function module is determined.
[0157] In this embodiment, the second functional module to be added refers to a secondary functional module that does not have a corresponding final target main module on the basic skeleton of the software to be developed.
[0158] In this embodiment, the second function-data list refers to a table that represents the correspondence between the functions of the second function module to be added and the data types that it can process.
[0159] In this embodiment, the second data type refers to the data type that the second functional module to be added can process.
[0160] In this embodiment, the first data type refers to the data type that the final target main module on the basic skeleton of the software to be developed can process.
[0161] In this embodiment, the second connection relationship refers to the connection relationship between the second functional module and other final target main modules on the basic skeleton when the second functional module does not have a corresponding final target main module.
[0162] The beneficial effects of the above technical solution are as follows: When a secondary functional module does not have a corresponding final target main module, i.e., when the secondary functional module can be used as a new final target main module, the present invention establishes a mapping relationship between data types and connection relationships based on the data types of other final target main modules on the basic skeleton and their corresponding connection relationships. Based on the mapping relationship, the connection relationships of different secondary functional modules are determined, thereby realizing intelligent software design and reducing the pressure of manual design.
[0163] Example 8:
[0164] Based on the above embodiment 1, the encryption module, such as Figure 5 As shown, it includes:
[0165] The first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules;
[0166] The second encryption unit is used to encrypt the data connection port of the final target main module or functional module;
[0167] The access encryption unit is used to classify the staff involved in the software development process, assign permissions based on the classification results, and determine the access scope and login permissions of each staff member involved in the software development.
[0168] In this embodiment, the access scope refers to the range of software to be developed that staff can view. For example, a software developer responsible for designing a certain secondary functional module can only view the main module related to the secondary functional module and cannot view other data.
[0169] In this embodiment, the staff includes software developers, project managers, project follow-up personnel, etc., and the project specifically refers to the project corresponding to the software to be developed.
[0170] The beneficial effects of the above technical solution are as follows: The present invention uses a first encryption unit to perform encryption algorithm processing on the final target main module and functional modules, which facilitates accurate invocation of the target functional modules during software runtime; the second encryption unit encrypts the data connection ports of the final target main module or functional modules, ensuring network security of the software to be developed and reducing the risk of information leakage; by accessing the encryption unit, during the development of the software to be developed, the staff involved in the software to be developed are classified, and permissions are allocated according to the classification results, determining the access scope and login permissions of each staff member involved in the software to be developed, thereby avoiding the leakage of project information.
[0171] Example 9:
[0172] Based on the above embodiment 8, the first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules, specifically including:
[0173] Based on the first connection relationship and the second connection relationship, a software data transmission relationship network is established, and a first relationship network diagram is generated.
[0174] Based on the relationship between each final target main module and functional module, the first relationship network is adjusted to generate a second relationship network diagram; wherein, the second relationship network diagram is connected by multiple relationship nodes, the relationship nodes include first-level relationship nodes and second-level relationship nodes, the first-level relationship nodes represent the final target main modules, and the second-level relationship nodes represent the functional modules under the final target main modules;
[0175] Obtain all data from the data receiving module of the software to be developed, and classify all data according to data type to obtain multiple data groups. Based on software encryption rules, assign a set of data type codes to each data group as the first type of encryption code.
[0176] On the second relational network graph, determine the position of the target first-level relational node corresponding to the data receiving module and the data allocation relationship between the target first-level relational node and the remaining first-level relational nodes;
[0177] According to the data allocation relationship, the corresponding first type of data code is matched for the remaining first-level relationship node. When the remaining first-level relationship node has multiple first type of encryption codes, the remaining first-level relationship node is regarded as a multi-data relationship node.
[0178] Based on the combination rules of the first type of encryption code, the multiple first type of encryption codes corresponding to the multiple data relationship nodes are segmented respectively to obtain multiple special fields. The multiple special fields are combined to obtain new special fields. The new special fields are combined with the ordinary fields of the first type of encryption code to generate new first type of encryption code, which is used as the second type of encryption code.
[0179] When the remaining first-level relationship node has only one type of encryption code, the type of encryption code is used as the type of encryption code.
[0180] Based on the second relationship network graph, obtain the third connection relationship between the first-level relationship node and the second-level relationship node;
[0181] Based on the third connection relationship, a submodule encryption number is assigned to the secondary node, and the special fields of the second encryption code are adjusted according to the submodule encryption number to obtain the third type of encryption code;
[0182] The second type of encryption code is added to the corresponding final target main module, the third type of encryption code is added to the corresponding functional module, and the corresponding running key is generated based on the third type of encryption code;
[0183] The software system under development calls the corresponding functional module to enter the working state through the running key. When the corresponding functional module enters the working state, its corresponding final target main module also enters the corresponding working state.
[0184] In this embodiment, the data transmission relationship network refers to the relationship network established based on the data transmission relationship between the final target main modules of the software to be developed.
[0185] In this embodiment, the first relationship network diagram refers to an image generated based on the data transmission relationship network; the second relationship network diagram refers to an image based on the first relationship network diagram, plus the data transmission relationship between each final target main module and its corresponding functional module.
[0186] In this embodiment, data grouping refers to the classification of all data received by the data receiving module and the multiple groups obtained by reverse classification according to the data type, with each group corresponding to a type of data.
[0187] In this embodiment, the software encryption rule refers to numbering the data groups of each software development project, and then assigning different encryption codes according to the different data types corresponding to the numbers and data groups.
[0188] In this embodiment, the first type of encryption code refers to the encryption code assigned according to the data type. Different data types correspond to different encryption codes. The first type of encryption code consists of ordinary fields and special fields. The ordinary fields represent the identity of the software to be developed, and the special fields represent the data type.
[0189] In this embodiment, the target first-level relation node refers to the first-level relation node representing the data receiving module on the second relation network diagram.
[0190] In this embodiment, the remaining first-level relation nodes refer to the other first-level nodes on the second relation network graph besides the target first-level relation node.
[0191] In this embodiment, the data allocation relationship refers to the data type of the data receiving module received by the remaining first-level relationship node. When the final target main module corresponding to the remaining first-level relationship node can receive multiple types of data, the remaining first-level relationship node will be allocated to multiple first-type data codes.
[0192] In this embodiment, the second type of encryption code refers to the first type of encryption code assigned to each first-level relation node (the final target main module).
[0193] In this embodiment, the third connection relationship refers to the data transmission relationship between the final target main module and its contained functional modules.
[0194] In this embodiment, the submodule encryption number refers to the encryption number assigned to each functional module.
[0195] In this embodiment, the third type of encryption code refers to the encryption code assigned to each secondary relationship node (functional module).
[0196] In this embodiment, the running key refers to the decryption password used when calling a certain functional module.
[0197] The beneficial effects of the above technical solution are as follows: This invention assigns different encryption codes to different data types based on the data classification of the entire software to be developed, and then encrypts the main modules according to the types of data that each final target main module can process; furthermore, based on the relationship between the final target main module and its contained functional modules, it assigns sub-module encryption numbers to its corresponding functional modules, and combines the assigned sub-module encryption numbers with the second type of encryption code to generate a third type of encryption code for encrypting the functional modules, thereby realizing the encryption of the final target main module and functional modules. At the same time, it also generates corresponding running keys based on the third type of encryption code, providing a foundation for accurately calling functional modules.
[0198] Example 10:
[0199] Based on the above embodiment 1, the test module, such as Figure 6 As shown, it includes:
[0200] The processing unit is used to clear login permissions during the software development process, add user login code, and generate a user login interface.
[0201] The testing unit is used to log in from the user interface, test the developed software, and determine that the developed software is completed when the test results are consistent with the expected results, and submit the project.
[0202] Otherwise, the developed software is returned to the second design module, and the software developers are notified to adjust the software code.
[0203] The software testing includes white-box testing, functional testing, performance testing, and stress testing.
[0204] In this embodiment, the expected result refers to the effect achieved by the pre-set software test.
[0205] The beneficial effects of the above technical solution are as follows: The present invention uses a processing unit to clear login permissions during the software development process, add user login code, generate a user login interface, improve the developed software, and make the developed software meet user login requirements; the testing unit tests the developed software to ensure that the developed software meets the project submission standards.
[0206] Example 11:
[0207] Based on the above embodiment 10, the testing module is also used to detect the running speed of the developed software system, specifically including:
[0208] Obtain the data processing speed of any functional module of the developed software system and the data transmission waiting time of the corresponding final target main module, and calculate the response time of any functional module:
[0209]
[0210] Among them, T i Let L represent the response time of the i-th functional module, i = 1, 2, ..., N, where N represents the total number of functional modules in the developed software system; L represents the size of the data being transmitted; R represents the current network data transmission speed; T wait,i V represents the data transmission waiting time of the final target main module corresponding to the i-th functional module; V represents the data processing speed of the i-th functional module; δ represents the influence factor (0, 1) of the current network on the data processing speed of the i-th functional module.
[0211] Based on the current network speed and the size of the data being transmitted, obtain the standard response time of the i-th functional module of the developed software system.
[0212] Calculate the response time deviation rate based on the standard response time:
[0213]
[0214] Where φ represents the response time deviation rate of the developed software system; T 标,i This represents the standard response time of the i-th functional module;
[0215] When the response time deviation rate is greater than the preset deviation value, it is determined that the running speed of the software system is abnormal, and the software developers are notified to debug the system.
[0216] Otherwise, the operating speed of the developed software system is determined to be normal.
[0217] The beneficial effects of the above technical solution are as follows: This invention calculates the response time deviation rate of a functional module by measuring its response time and the standard response time of that module under the current network conditions. This deviation rate reflects the overall response time deviation rate of the entire developed software system. By reflecting the whole from the local situation, it simplifies the process of detecting the running speed of developed software and provides data support for the presentation of running speed detection results. This invention detects the running speed of developed software systems, avoiding both excessively fast running speeds that increase system operating pressure and excessively slow running speeds that reduce user experience.
[0218] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A software development system based on an encryption algorithm, characterized in that, include: The requirements determination module is used to obtain customer requirements, analyze the customer requirements, and determine the customer's software design requirements and design innovation points. The first design module is used to obtain multiple relevant main modules from the software design database according to the software design requirements and construct the basic skeleton of the software to be developed. The second design module is used to determine the software functions of the software to be developed according to the software design requirements, add first-level functional modules to the basic skeleton based on the software functions, and add second-level functional modules to the basic skeleton according to the design innovation points to obtain the software design result. An encryption module is used to encrypt the software design results to obtain the developed software; The testing module is used to test and verify the developed software, and to determine whether the developed software can be submitted to the project based on the test results. The first design module includes: The direction determination unit is used to determine the design direction and design purpose of the software to be developed based on the customer's software design requirements for the software to be developed. The skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and to construct the basic skeleton of the software to be developed. The skeleton construction unit is used to obtain relevant data of the main module from the software design database based on the design direction and design purpose, and to construct the basic skeleton of the software to be developed, specifically including: Based on the design direction and design purpose, determine the application field of the software to be developed, and based on the application field, obtain historically developed software in the same field; Based on the design purpose of the historically developed software, the historically developed software is classified to obtain multiple software groups; Based on the software grouping, generate a software classification table for the application domain; Based on the software classification table, a longitudinal comparison is performed to obtain the commonalities in the software architecture framework of different software groups, which serve as the first characteristic of software development in the application domain. Obtain target software groups with the same design purpose as the software to be developed from the software classification table, and obtain the commonalities in the software framework of the target software groups as the second feature of software development in the application domain; Based on the first feature and the second feature, the corresponding target main module is obtained from the software design database; Obtain the running data and covered functions corresponding to the target main module, and determine whether there are duplicate modules among all target main modules. If not, determine that all target main modules are the final target main modules. If so, the non-duplicate module is determined to be the final target main module. At the same time, the duplicate modules are compared, and it is determined whether the duplicate modules are completely duplicate modules based on the comparison results. If the duplicate modules are completely duplicate modules, only one completely duplicate module is retained as the final target module. If the repeating module is a partially repeating module, obtain the differentiated functions of the partially repeating module; at the same time, obtain the first design idea of the historically developed software that includes the partially repeating module. A second design idea for the software to be developed is generated based on the client's software design requirements. The first design idea and the second design idea are then compared to obtain the similarity of the ideas. Based on the similarity of ideas, it is determined whether the difference function is applicable to the software to be developed. If the similarity of ideas is less than or equal to a preset value, it is determined that the difference function is not applicable to the software to be developed. The basic module framework of the non-completely duplicated module is obtained. After deleting the part of the module framework corresponding to the difference function, the final target main module is generated. If the similarity of the ideas is greater than a preset value, it is determined that the difference function is applicable to the software to be developed, and the non-completely duplicated module is determined as the final target main module. Based on the second design concept, the first connection relationship of all final target main modules is determined; Based on the first connection relationship, all the final target main modules are spliced together to construct the basic skeleton of the software to be developed.
2. The software development system based on an encryption algorithm according to claim 1, characterized in that, The requirement determination module includes: The requirements receiving unit is used to receive the client's software design requirements for the software to be developed. The requirements analysis unit is used to analyze the software design requirements and extract primary and secondary keywords respectively. The requirement determination unit is used to determine the customer's software design requirements for the software to be developed based on the primary keywords, and to determine the design innovation points of the software to be developed based on the secondary keywords.
3. The software development system based on an encryption algorithm according to claim 1, characterized in that, The second design module includes: The first function addition unit is used to determine the functions to be implemented in the software to be developed based on the software design requirements, and add a first-level function module to the corresponding final target main module according to the functions to be implemented and the software design database. The second function addition unit is used to acquire the design innovation of the software to be developed and to determine whether the function corresponding to the design innovation point already has a corresponding first-level function module. If so, the corresponding first-level functional module is taken as the target module, and the software developers are notified to adjust the running algorithm of the target module according to the design innovation points to obtain the second-level functional module; If not, send the design innovation to the software developers to build a new functional module as a secondary functional module.
4. The software development system based on an encryption algorithm according to claim 3, characterized in that, The second function adding unit includes: The judgment subunit is used to determine the addition location of the secondary functional module; If the secondary functional module has a corresponding final target main module, the secondary functional module is added to the corresponding final target main module; If the secondary functional module does not have a corresponding final target main module, the secondary functional module is added to the basic skeleton as a new final target main module.
5. A software development system based on an encryption algorithm according to claim 4, characterized in that, The second function adding unit further includes: The location determination subunit is used to obtain the second data types corresponding to all the second functional modules to be added when the second functional module does not have a corresponding final target main module, and to establish a second function-data list; Obtain the first connection relationship of the final target main module on the basic skeleton and the first data type processed by each final target main module, and determine the mapping relationship between the first data type and the first connection relationship; Based on the mapping relationship and the second function-data list, the second connection relationship of the second function module is determined.
6. A software development system based on an encryption algorithm according to claim 1, characterized in that, The encryption module includes: The first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules; The second encryption unit is used to encrypt the data connection port of the final target main module or functional module; The access encryption unit is used to classify the staff involved in the software development process, assign permissions based on the classification results, and determine the access scope and login permissions of each staff member involved in the software development.
7. A software development system based on an encryption algorithm according to claim 6, characterized in that: The first encryption unit is used to perform encryption algorithm processing on the final target main module and functional modules, specifically including: Based on the first connection relationship and the second connection relationship, a software data transmission relationship network is established, and a first relationship network diagram is generated. Based on the relationship between each final target main module and functional module, the first relationship network diagram is adjusted to generate a second relationship network diagram; wherein, the second relationship network diagram is connected by multiple relationship nodes, the relationship nodes include first-level relationship nodes and second-level relationship nodes, the first-level relationship nodes represent the final target main modules, and the second-level relationship nodes represent the functional modules included in the final target main modules; Obtain all data from the data receiving module of the software to be developed, and classify all data according to data type to obtain multiple data groups. Based on software encryption rules, assign a set of data type codes to each data group as the first type of encryption code. On the second relational network graph, determine the position of the target first-level relational node corresponding to the data receiving module and the data allocation relationship between the target first-level relational node and the remaining first-level relational nodes; According to the data allocation relationship, the corresponding first type of data code is matched for the remaining first-level relationship node. When the remaining first-level relationship node has multiple first type of encryption codes, the remaining first-level relationship node is regarded as a multi-data relationship node. Based on the combination rules of the first type of encryption code, the multiple first type of encryption codes corresponding to the multiple data relationship nodes are segmented respectively to obtain multiple special fields. The multiple special fields are combined to obtain new special fields. The new special fields are combined with the ordinary fields of the first type of encryption code to generate new first type of encryption code, which is used as the second type of encryption code. When the remaining first-level relationship node has only one type of encryption code, the type of encryption code is used as the type of encryption code. Based on the second relationship network graph, obtain the third connection relationship between the first-level relationship node and the second-level relationship node; Based on the third connection relationship, submodule encryption numbers are assigned to the second-level relationship nodes. The special fields of the second type of encryption code are adjusted according to the submodule encryption numbers to obtain the third type of encryption code. The second type of encryption code is added to the corresponding final target main module, the third type of encryption code is added to the corresponding functional module, and the corresponding running key is generated based on the third type of encryption code; The software system under development calls the corresponding functional module to enter the working state through the running key. When the corresponding functional module enters the working state, its corresponding final target main module also enters the corresponding working state.
8. A software development system based on an encryption algorithm according to claim 1, characterized in that, The test module includes: The processing unit is used to clear login permissions during the software development process, add user login code, and generate a user login interface. The testing unit is used to log in from the user login interface, test the developed software, and determine that the developed software is completed when the test results are consistent with the expected results, and submit the project. Otherwise, the developed software is returned to the second design module, and the software developers are notified to adjust the software code. Testing of developed software includes white-box testing, functional testing, performance testing, and stress testing.