CN111857663B - Software design method, system, electronic equipment and storage medium - Google Patents

Software design method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN111857663B
CN111857663B CN202010692340.0A CN202010692340A CN111857663B CN 111857663 B CN111857663 B CN 111857663B CN 202010692340 A CN202010692340 A CN 202010692340A CN 111857663 B CN111857663 B CN 111857663B
Authority
CN
China
Prior art keywords
configuration file
definition
module
layer
function module
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.)
Active
Application number
CN202010692340.0A
Other languages
Chinese (zh)
Other versions
CN111857663A (en
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202010692340.0A priority Critical patent/CN111857663B/en
Publication of CN111857663A publication Critical patent/CN111857663A/en
Application granted granted Critical
Publication of CN111857663B publication Critical patent/CN111857663B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The application discloses a software design method, a system, an electronic device and a storage medium, wherein the method comprises the following steps: determining a target function module required by the current software according to the actual software design requirement; searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are predefined and arranged according to an execution sequence; deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement; and automatically compiling and generating a function code for realizing the target function module based on the updated software configuration file to finish software design. According to the method and the device, all layered function modules arranged according to the execution sequence are defined by adopting the preset software configuration file, the function modules can be flexibly cut according to different requirements during software design, a user does not need to pay attention to a data processing process, and the user does not need to read and modify codes, so that the software development and maintenance cost is reduced.

Description

Software design method, system, electronic equipment and storage medium
Technical Field
The present application relates to the field of software design technologies, and in particular, to a software design method and system, an electronic device, and a computer-readable storage medium.
Background
In the design of product-level software systems and many protocol plans, a hierarchical design is often selected for the purpose of structural clarity, complexity reduction and coupling reduction. The same is true when the storage device system is designed, for example, when the product-level storage device is running, first receives a request for access from a server, the storage device receives and understands the server request, the storage device then considers whether domains are currently partitioned to support virtualization, and if the storage device is designed for controller redundancy and load balancing, the storage device determines whether the server request is forwarded to other controllers for processing, for the server to read and write data, the storage device needs to consider whether to use the cache, sequentially consider writing the logical volume, then the storage pool, the RAID, and the software module of the physical disk, and finally write the physical disk, there are also some high level functions between the layers in the described I/O path that need to be determined, such as remote backup, mirroring volumes, forwarding to physical disks mounted on other controllers. The multi-level software functional modules are not required to be provided for all products, enterprises generally develop a series of products with different models, some products only use a part of layered module functions described above, the cost is very high if each model of product develops a set of unique software system and maintains the unique software systems respectively, and in general, enterprises adopt a set of software maintenance to cut out software systems with specific requirements according to requirements when products with specific models are used.
When the traditional technology realizes software design cutting, the following scheme is generally adopted: the first is to define a product macro in the code, the entrance and exit of each layer of software module judge whether the software module is needed in the product according to the product macro, and the exit judges which layer the data needs to be handed to according to the product macro. In the mode, the product macro is distributed in a plurality of codes, so that not only is the code reading of maintenance personnel influenced, but also when a new product model is added, a plurality of positions for adding the product macro are required to be searched, omission and errors are easy, and the software development cost is high. The second is to add judgment to the product model in the code, and judge the software module hierarchy of data delivery when running. However, this method has many decisions, and each data transfer needs to go through the decision process, which also affects the system performance.
Therefore, how to solve the above problems is a major concern for those skilled in the art.
Disclosure of Invention
The application aims to provide a software design method, a software design system, an electronic device and a computer readable storage medium, and software development and maintenance cost is reduced.
In order to achieve the above object, the present application provides a software design method, including:
determining a target function module required by current software according to actual software design requirements;
searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are predefined and arranged according to an execution sequence;
deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement;
and automatically compiling and generating a function code for realizing the target function module based on the updated software configuration file to finish software design.
Optionally, the searching for the layer definition matched with the target function module in the preset software configuration file includes:
acquiring identification information of the target function module;
searching a layer definition matched with the target function module according to the identification information in the preset software configuration file;
and adding mark information to the layer definition which is not successfully matched.
Optionally, deleting the layer definition that is not successfully matched according to the matching result, including:
automatically deleting the layer definition which is not successfully matched in the preset software configuration file according to the marking information;
or receiving an operation instruction which is issued by the user terminal and used for deleting the layer definition through the visual interface, and deleting the layer definition which is not successfully matched according to the operation instruction.
Optionally, the automatically compiling and generating a function code for implementing the target function module based on the updated software configuration file includes:
acquiring a hierarchical definition file of all hierarchical function module call relationship interfaces defined in advance according to a module execution sequence;
combining the updated software configuration file and the hierarchy definition file to automatically determine the target hierarchical relationship among all the target function modules;
generating an interface calling code according to the target hierarchical relationship, wherein the interface calling code is used for describing the process of calling the lower layer function module inlet by each layer function module outlet;
and combining the interface calling code and a preset function module code library, and automatically compiling to generate a function code for realizing the target function module.
Optionally, deleting the layer definition which is not successfully matched according to the matching result, and after obtaining the updated software configuration file meeting the current software design requirement, further including:
and receiving a new layer adding definition issued according to the actual software design requirement, and adding the new layer adding definition to the specified position of the updated software configuration file.
To achieve the above object, the present application provides a software design system, including:
the module determination module is used for determining a target function module required by the current software according to the actual software design requirement;
the definition searching module is used for searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are predefined and arranged according to an execution sequence;
the definition deleting module is used for deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement;
and the code compiling module is used for automatically compiling and generating a functional code for realizing the target functional module based on the updated software configuration file so as to complete software design.
Optionally, the definition searching module includes:
an acquisition unit configured to acquire identification information of the target function module;
the searching unit is used for searching the layer definition matched with the target function module according to the identification information in the preset software configuration file;
and the marking unit is used for adding marking information to the layer definition which is not successfully matched.
Optionally, the definition deleting module includes:
the first deleting unit is used for automatically deleting the layer definitions which are not successfully matched in the preset software configuration file according to the marking information;
or, the second deleting unit is configured to receive, through a visual interface, an operation instruction for deleting the layer definition issued by the user terminal, and delete the layer definition that is not successfully matched according to the operation instruction.
To achieve the above object, the present application provides an electronic device including:
a memory for storing a computer program;
a processor for implementing the steps of any of the software design methods disclosed above when executing the computer program.
To achieve the above object, the present application provides a computer-readable storage medium having a computer program stored thereon, which when executed by a processor, implements the steps of any one of the software design methods disclosed above.
According to the scheme, the software design method provided by the application comprises the following steps: determining a target function module required by the current software according to the actual software design requirement; searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are defined in advance and arranged according to an execution sequence; deleting the layer definition which is not matched to be successful according to the matching result to obtain an updated software configuration file which meets the current software design requirement; and automatically compiling and generating a function code for realizing the target function module based on the updated software configuration file to finish software design. According to the method, all layered function modules arranged according to the execution sequence are predefined by adopting the preset software configuration file, during software design, the layer definition corresponding to the required function module can be searched in the preset software configuration file according to actual requirements, the module corresponding to the layer definition which cannot be successfully matched is the layered module which is not required by the design software, the layer definition can be deleted, the obtained updated software configuration file is the configuration file which meets the current design requirement, the function modules can be flexibly cut according to different product requirements, a user does not need to pay attention to the processing process of data, the user does not need to read and modify codes, the software development and maintenance cost is reduced, and the influence on the system performance is avoided.
The application also discloses a software design system, an electronic device and a computer readable storage medium, which can also realize the technical effects.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the embodiments or the prior art descriptions will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
FIG. 1 is a flow chart of a software design method disclosed in an embodiment of the present application;
fig. 2 is a detailed flowchart of step S104 disclosed in the embodiment of the present application;
FIG. 3 is a block diagram of a software design system disclosed in an embodiment of the present application;
fig. 4 is a block diagram of an electronic device disclosed in an embodiment of the present application;
fig. 5 is a block diagram of another electronic device disclosed in the embodiments of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
When the traditional technology realizes software design cutting, a product macro is usually defined in a code, an inlet and an outlet of each layer of software module judge whether the software module is needed in the product according to the product macro, and the outlet judges which layer the data needs to be handed to according to the product macro. Or judging the product model in the code, and judging the software module level of data delivery during running. However, the method of using the product macro not only affects the maintenance personnel to read the code, but also needs to search a plurality of positions for adding the product macro when modifying the product model, and the development cost is high. The manner of adding judgment logic to the code requires a judgment process for each data transfer, which also affects the system performance.
Therefore, the embodiment of the application discloses a software design method, and software development and maintenance cost is reduced.
Referring to fig. 1, a software design method disclosed in the embodiment of the present application includes:
s101: determining a target function module required by the current software according to the actual software design requirement;
in the embodiment of the application, the target function module required by the current software can be determined according to the actual software design requirement of the current software designer. In a specific embodiment, a visual interface may be provided to receive information of the target function module, which is entered by a current software designer according to actual design requirements, for example, a name and an identification number of the target function module may be entered. In another specific implementation mode, all the function modules can be displayed through a visual interface, a software designer can select a required function module through the interface, and a selection instruction is issued in a checking or clicking mode to determine a target function module required by the current software.
S102: searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are predefined and arranged according to an execution sequence;
after determining the target function module required by the current software, the layer definition matched with the target function module can be searched in a preset software configuration file. Specifically, the identification information of the target function module may be obtained first; searching a layer definition matched with the target function module according to the identification information in a preset software configuration file; and adding mark information to the layer definition which is not successfully matched.
It should be noted that the preset software configuration file specifically includes all predefined hierarchical functional modules arranged according to an execution sequence.
S103: deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement;
in this step, the layer definitions which are not successfully matched can be deleted according to the matching result, and the remaining layer definitions are the layer definitions corresponding to the target function module required by the current software design requirement.
In specific implementation, the layer definitions which cannot be successfully matched in the preset software configuration file can be automatically deleted according to the marking information; or receiving an operation instruction which is issued by the user terminal and used for deleting the layer definition through the visual interface, and deleting the layer definition which is not successfully matched according to the operation instruction. That is, the embodiment of the application can automatically delete according to the matching result, and can also passively delete according to the manual operation of the user in real time.
It can be understood that, after deleting the layer definition that is not successfully matched, the embodiment of the present application may further receive a new layer definition issued according to an actual software design requirement, and add the new layer definition to a specified position of the updated software configuration file. That is, after determining a required target function module according to actual software design requirements and deleting an unnecessary layer definition, if there is a function module required by a user but there is no corresponding layer definition in a preset software configuration file, the user may issue a new layer definition according to the requirements, determine which two layers the layer should be located between according to a specific data flow of the layer, and write the corresponding layer definition into a designated location to obtain an updated software configuration file.
S104: and automatically compiling and generating a function code for realizing the target function module based on the updated software configuration file to finish software design.
In specific implementation, after an updated software configuration file meeting the current software design requirement is generated, the required functional module can be determined according to the configuration file, and further, the functional code for realizing the target functional module can be automatically compiled and generated, so that the software design is completed.
According to the software design method, all layered function modules arranged according to the execution sequence are predefined by adopting a preset software configuration file, during software design, the layer definition corresponding to the required function module can be searched in the preset software configuration file according to actual requirements, the module corresponding to the layer definition which is not successfully matched is the layered module which is not required by the design software, the layer definition can be deleted, the obtained updated software configuration file is the configuration file which meets the current design requirement, the function module can be flexibly cut according to different product requirements, the data processing process is not required to be concerned by a user, the code reading and modification of the user are not required, the software development and maintenance cost is reduced, and the influence on the system performance is avoided.
The embodiment of the present application further describes and optimizes step S104 in the above technical solution. Referring to fig. 2, specifically:
s201: acquiring a hierarchy definition file of all hierarchy functional modules calling relationship interfaces defined according to a module execution sequence in advance;
s202: combining the updated software configuration file and the hierarchy definition file to automatically determine the target hierarchical relationship among all the target function modules;
in a specific implementation, a hierarchy definition file of all the hierarchy function module calling relation interfaces may be defined in advance according to a module execution sequence, and the file defines each hierarchy module in sequence according to the execution sequence. After the updated software configuration file is generated, the required hierarchical module can be determined according to the software configuration file, and further, the target hierarchical relation among all the target function modules is determined according to the required hierarchical module and by combining the hierarchical definition file. That is, according to the required hierarchical module, the unnecessary hierarchical module can be removed, and the upper layer module and the lower layer module of the module are in the new upper and lower hierarchical relationship.
S203: generating an interface calling code according to the target hierarchical relationship, wherein the interface calling code is used for describing the process of calling the lower layer function module inlet by each layer function module outlet;
according to the determined target hierarchical relationship, interface calling codes for describing the process of calling the lower layer function module entrance by the function module exit of each layer can be automatically generated, so that a new module execution sequence is realized under the new hierarchical relationship.
S204: and combining the interface calling code and a preset function module code library, and automatically compiling to generate a function code for realizing the target function module.
The software design scheme for facilitating hierarchical clipping provided by the embodiments of the present application is described below by way of a specific example. Specifically, the embodiments of the present application first need to unify the ingress and egress function interface forms of each hierarchical layer. For example, the entry function for module A is: void a _ input (void pkg), the exit function submitted to the next layer is: void a _ submit (void pkg); the entry function for module B is: void B _ input (void pkg), the exit function submitted to the next layer is: void B _ submit (void pkg); and so on.
Furthermore, the embodiment of the present application may abstract the process of calling the next entry by each hierarchical exit, and specifically, the following code definitions may be referred to:
Figure BDA0002589748050000081
in a specific implementation manner, in the embodiment of the present application, the call relationship interfaces of the full functional layer modules, that is, the layer definition file, are sequentially defined, and all the functional modules are defined in the layer definition file according to the module call sequence. For example, the following code definitions may be referenced:
#define LAYER_COMP first
#ifdef LAYER_A
LINK(LAYER_COMP,A)
#undef LAYER_COMP
#define LAYER_COMP A
#endif
#ifdef LAYER_B
LINK(LAYER_COMP,B)
#undef LAYER_COMP
#define LAYER_COMP B
#endif
……
sequential definition of flexibly tailorable individual layer function definitions
#ifdef LAYER_XX
LINK(LAYER_COMP,XX)
#undef LAYER_COMP
#define LAYER_COMP XX
#endif
LINK(LAYER_COMP,last)
#undef LAYER_COMP
Further, the user may define the functional modules required by the currently designed software, for example, the following definitions may be made in the software configuration file:
#define LAYER_A
/# define LAYER _ B deletes this row (adding strikethrough to this row to indicate deletion of B-LAYER) taking the example of not needing B-LAYER
#define LAYER_C
#define LAYER_D
Defining flexibly tailorable layer identifiers in turn
#define LAYER_XX
In addition, the embodiment of the present application defines bottom layer codes for implementing functions of each layer of software module in advance, and taking the implementation of the module C as an example, the following codes may be referred to:
Figure BDA0002589748050000093
Figure BDA0002589748050000101
through the manner, the functions of the software modules of each LAYER are realized, when a user designs a specified software, only the needs of the software need to be combined, the needs of the product are defined in the software configuration file, undefined LAYERs are excluded when compiling software codes, for example, LAYER _ B is deleted from the defined software configuration file, and codes corresponding to LAYER _ B in the representation LAYER definition file are excluded when subsequently compiling. After being excluded, the a module actually calls the D _ input (void pkg) of the D module when calling a _ submit (void pkg), i.e., the B module is cut. Based on the design method, the module cutting can be flexibly and conveniently realized, the code modification mode for realizing the cutting purpose is simple, only one part needs to be modified, the modification cost is obviously reduced, and the risk of easy omission and error caused by multiple parts of modification in the traditional mode is avoided.
In the following, a software design system provided by an embodiment of the present application is introduced, and a software design system described below and a software design method described above may be referred to each other.
Referring to fig. 3, a software design system provided in an embodiment of the present application includes:
a module determining module 301, configured to determine a target function module required by current software according to an actual software design requirement;
a definition searching module 302, configured to search a preset software configuration file for a layer definition matched with the target function module, where the preset software configuration file includes all predefined hierarchical function modules arranged according to an execution sequence;
a definition deleting module 303, configured to delete, according to the matching result, the layer definition that is not successfully matched, so as to obtain an updated software configuration file meeting the current software design requirement;
and the code compiling module 304 is used for automatically compiling and generating a functional code for realizing the target functional module based on the updated software configuration file so as to complete software design.
For the specific implementation processes of the modules 301 to 304, reference may be made to corresponding contents disclosed in the foregoing embodiments, and details are not repeated herein.
On the basis of the foregoing embodiment, as a preferred implementation manner, the definition search module 302 may specifically include:
an acquisition unit configured to acquire identification information of the target function module;
the searching unit is used for searching the layer definition matched with the target function module in the preset software configuration file according to the identification information;
and the marking unit is used for adding marking information to the layer definition which is not successfully matched.
On the basis of the foregoing embodiment, as a preferred implementation manner, the definition deletion module 303 may specifically include:
the first deleting unit is used for automatically deleting the layer definitions which are not successfully matched in the preset software configuration file according to the marking information;
or, the second deleting unit is configured to receive, through a visual interface, an operation instruction for deleting the layer definition issued by the user terminal, and delete the layer definition that is not successfully matched according to the operation instruction.
On the basis of the foregoing embodiment, as a preferred implementation manner, the code compiling module 304 may specifically include:
the file acquisition unit is used for acquiring a hierarchy definition file of all the hierarchical function module calling relationship interfaces which are defined in advance according to the module execution sequence;
the level determining unit is used for automatically determining the target level relation among all the target function modules by combining the updated software configuration file and the level definition file;
the code generating unit is used for generating an interface calling code according to the target hierarchical relationship, wherein the interface calling code is used for describing the process of calling the lower layer function module inlet by each layer function module outlet;
and the automatic compiling unit is used for combining the interface calling code and a preset function module code library and automatically compiling and generating a function code for realizing the target function module.
On the basis of the foregoing embodiment, as a preferred implementation, the software design system provided in the embodiment of the present application may further include:
and the definition newly-added module is used for receiving a newly-added layer definition issued according to actual software design requirements and adding the newly-added layer definition to the specified position of the updated software configuration file.
The present application further provides an electronic device, and as shown in fig. 4, an electronic device provided in an embodiment of the present application includes:
a memory 100 for storing a computer program;
the processor 200, when executing the computer program, may implement the steps provided by the above embodiments.
Specifically, the memory 100 includes a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and computer-readable instructions, and the internal memory provides an environment for the operating system and the computer-readable instructions in the non-volatile storage medium to run. The processor 200 may be a Central Processing Unit (CPU), a controller, a microcontroller, a microprocessor or other data Processing chip in some embodiments, and provides computing and controlling capability for the electronic device, and when executing the computer program stored in the memory 100, the steps of the software design method disclosed in any of the foregoing embodiments may be implemented.
On the basis of the above embodiment, as a preferred implementation, referring to fig. 5, the electronic device further includes:
and an input interface 300 connected to the processor 200, for acquiring computer programs, parameters and instructions imported from the outside, and storing the computer programs, parameters and instructions into the memory 100 under the control of the processor 200. The input interface 300 may be connected to an input device for receiving parameters or instructions manually input by a user. The input device may be a touch layer covered on a display screen, or a button, a track ball or a touch pad arranged on a terminal shell, or a keyboard, a touch pad or a mouse, etc.
And a display unit 400 connected to the processor 200 for displaying data processed by the processor 200 and for displaying a visualized user interface. The display unit 400 may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch panel, or the like.
And the network port 500 is connected with the processor 200 and is used for performing communication connection with external terminal equipment. The communication technology adopted by the communication connection can be a wired communication technology or a wireless communication technology, such as a mobile high definition link (MHL) technology, a Universal Serial Bus (USB), a High Definition Multimedia Interface (HDMI), a wireless fidelity (WiFi), a bluetooth communication technology, a low power consumption bluetooth communication technology, an ieee802.11 s-based communication technology, and the like.
While FIG. 5 shows only an electronic device having the assembly 100 and 500, those skilled in the art will appreciate that the configuration shown in FIG. 5 does not constitute a limitation of the electronic device, and may include fewer or more components than shown, or some components may be combined, or a different arrangement of components.
The present application also provides a computer-readable storage medium, which may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk. The storage medium has a computer program stored thereon, which when executed by a processor implements the steps of the software design method disclosed in any of the foregoing embodiments.
According to the software design method, all layered function modules arranged according to the execution sequence are predefined by adopting a preset software configuration file, when software is designed, the layer definition corresponding to the required function module can be searched in the preset software configuration file according to actual requirements, the module corresponding to the layer definition which is not successfully matched is the layered module which is not required by the software design, the layer definition can be deleted, the obtained updated software configuration file is the configuration file which meets the current design requirement, the function modules can be flexibly cut according to different product requirements, a user does not need to pay attention to the processing process of data, the user does not need to read and modify codes, the software development and maintenance cost is reduced, and the influence on the system performance is avoided.
The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. For the system disclosed by the embodiment, the description is relatively simple because the system corresponds to the method disclosed by the embodiment, and the relevant points can be referred to the method part for description. It should be noted that, for those skilled in the art, it is possible to make various improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.

Claims (7)

1. A method of software design, comprising:
determining a target function module required by the current software according to the actual software design requirement;
searching a layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all layered function modules which are predefined and arranged according to an execution sequence;
deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement;
automatically compiling and generating a function code for realizing the target function module based on the updated software configuration file to complete software design;
wherein, the searching the layer definition matched with the target function module in the preset software configuration file comprises: acquiring identification information of the target function module; searching a layer definition matched with the target function module according to the identification information in the preset software configuration file; adding marking information to the layer definition which is not successfully matched;
and, the deleting the layer definition which is not successfully matched according to the matching result comprises: automatically deleting the layer definition which is not successfully matched in the preset software configuration file according to the marking information; or, receiving an operation instruction for deleting the layer definition issued by the user terminal through a visual interface, and deleting the layer definition which is not successfully matched according to the operation instruction;
and, the automatically compiling and generating a function code for implementing the target function module based on the updated software configuration file includes: acquiring a hierarchy definition file of all hierarchical function module calling relationship interfaces defined according to a module execution sequence in advance; combining the updated software configuration file and the hierarchy definition file to automatically determine the target hierarchical relationship among all the target function modules; generating an interface calling code according to the target hierarchical relationship, wherein the interface calling code is used for describing the process of calling the lower layer function module inlet by each layer function module outlet; and combining the interface calling code and a preset function module code library, and automatically compiling and generating a function code for realizing the target function module.
2. The software design method according to claim 1, wherein, after deleting the layer definitions which are not successfully matched according to the matching result to obtain the updated software configuration file meeting the current software design requirement, the method further comprises:
and receiving a new added layer definition issued according to the actual software design requirement, and adding the new added layer definition to the specified position of the updated software configuration file.
3. A software design system, comprising:
the module determining module is used for determining a target function module required by the current software according to the actual software design requirement;
the definition searching module is used for searching the layer definition matched with the target function module in a preset software configuration file, wherein the preset software configuration file comprises all the layered function modules which are predefined and arranged according to an execution sequence;
the definition deleting module is used for deleting the layer definition which is not successfully matched according to the matching result to obtain an updated software configuration file which meets the current software design requirement;
the code compiling module is used for automatically compiling and generating a functional code for realizing the target functional module based on the updated software configuration file so as to complete software design;
the definition searching module is specifically configured to obtain identification information of the target function module; searching a layer definition matched with the target function module according to the identification information in the preset software configuration file; adding marking information to the layer definition which is not successfully matched;
the definition deleting module is specifically configured to automatically delete a layer definition that is not successfully matched in the preset software configuration file according to the marking information; or, receiving an operation instruction for deleting the layer definition issued by the user terminal through a visual interface, and deleting the layer definition which is not successfully matched according to the operation instruction;
the code compiling module is specifically used for acquiring a hierarchy definition file of all hierarchy function module call relationship interfaces defined in advance according to a module execution sequence; combining the updated software configuration file and the hierarchy definition file to automatically determine the target hierarchical relationship among all the target function modules; generating an interface calling code according to the target hierarchical relationship, wherein the interface calling code is used for describing the process of calling the lower layer function module inlet by each layer function module outlet; and combining the interface calling code and a preset function module code library, and automatically compiling and generating a function code for realizing the target function module.
4. The software design system of claim 3, wherein the definition lookup module comprises:
an acquisition unit configured to acquire identification information of the target function module;
the searching unit is used for searching the layer definition matched with the target function module in the preset software configuration file according to the identification information;
and the marking unit is used for adding marking information to the layer definition which is not successfully matched.
5. The software design system of claim 4, wherein the definition deletion module comprises:
the first deleting unit is used for automatically deleting the layer definitions which are not successfully matched in the preset software configuration file according to the marking information;
or the second deleting unit is used for receiving an operation instruction which is issued by the user terminal and used for deleting the layer definition through the visual interface, and deleting the layer definition which is not successfully matched according to the operation instruction.
6. An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the software design method according to any one of claims 1 to 2 when executing the computer program.
7. A computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the steps of the software design method according to any one of claims 1 to 2.
CN202010692340.0A 2020-07-17 2020-07-17 Software design method, system, electronic equipment and storage medium Active CN111857663B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010692340.0A CN111857663B (en) 2020-07-17 2020-07-17 Software design method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010692340.0A CN111857663B (en) 2020-07-17 2020-07-17 Software design method, system, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111857663A CN111857663A (en) 2020-10-30
CN111857663B true CN111857663B (en) 2022-06-17

Family

ID=73002196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010692340.0A Active CN111857663B (en) 2020-07-17 2020-07-17 Software design method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111857663B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379915A (en) * 2020-11-06 2021-02-19 中国人寿保险股份有限公司 Source code processing method and device
CN112764731A (en) * 2021-01-19 2021-05-07 上海擎昆信息科技有限公司 Software interface maintenance method, system, computer equipment and storage medium
CN115002214A (en) * 2021-02-20 2022-09-02 京东科技控股股份有限公司 Information processing method, device and system, electronic equipment and storage medium
CN113467853B (en) * 2021-05-31 2024-04-16 北京达佳互联信息技术有限公司 Data processing method, apparatus, device, storage medium, and program product
CN117055849A (en) * 2023-03-14 2023-11-14 芜湖市桀蒲网络科技有限公司 Software module dividing method and system based on big data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053855A (en) * 2010-12-13 2011-05-11 浪潮(北京)电子信息产业有限公司 Software generation system and method
CN105630472A (en) * 2014-11-03 2016-06-01 中国科学院沈阳自动化研究所 Quick client development frame for manufacturing execution system and software development method for frame
CN108170405A (en) * 2017-12-27 2018-06-15 遵义职业技术学院 A kind of software development scheme generation method of service-oriented variable
CN109165011A (en) * 2018-08-30 2019-01-08 深圳大势智能科技有限公司 Method, system, equipment and storage medium based on scm software hierarchical design
CN109271146A (en) * 2018-09-06 2019-01-25 威胜集团有限公司 For the modular design method of electric energy meter software

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977655B2 (en) * 2012-03-20 2018-05-22 Massively Parallel Technologies, Inc. System and method for automatic extraction of software design from requirements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053855A (en) * 2010-12-13 2011-05-11 浪潮(北京)电子信息产业有限公司 Software generation system and method
CN105630472A (en) * 2014-11-03 2016-06-01 中国科学院沈阳自动化研究所 Quick client development frame for manufacturing execution system and software development method for frame
CN108170405A (en) * 2017-12-27 2018-06-15 遵义职业技术学院 A kind of software development scheme generation method of service-oriented variable
CN109165011A (en) * 2018-08-30 2019-01-08 深圳大势智能科技有限公司 Method, system, equipment and storage medium based on scm software hierarchical design
CN109271146A (en) * 2018-09-06 2019-01-25 威胜集团有限公司 For the modular design method of electric energy meter software

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Enabling Involving Global Cooperative Software Design with Layered Knowledge Management Platform";Bin Xu;《2007 11th International Conference on Computer Supported Cooperative Work in Design》;20070730;第687-692页 *
"基于构件的可配置嵌入式应用程序设计模式";茅正冲等;《计算机测量与控制》;20150425;第23卷(第4期);第1432-1437页 *

Also Published As

Publication number Publication date
CN111857663A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111857663B (en) Software design method, system, electronic equipment and storage medium
US10489503B2 (en) Automated form layout based upon usage patterns
CN110851114A (en) Business system development method and device, electronic equipment and storage medium
US10592211B2 (en) Generation of application behaviors
JP4688556B2 (en) Volume migration system, volume relocation method, and program
CN108415921A (en) Supplier recommends method, apparatus and computer readable storage medium
CN104781795A (en) Dynamic selection of storage tiers
US11134051B2 (en) Apparatus and method for managing notification
CN110209650A (en) The regular moving method of data, device, computer equipment and storage medium
US11385871B2 (en) Adjusting a user interface layout based on user usage patterns
CN112256348B (en) Cloud service platform creation method and system, electronic equipment and storage medium
CN110555073A (en) data processing method and device, electronic equipment and storage medium
CN110457666A (en) A kind of report form generation method, system and electronic equipment and storage medium
CN112269659A (en) Resource management method, system, electronic equipment and storage medium
CN111797157A (en) Data processing method and system, electronic equipment and storage medium
CN103294805A (en) Creation method and device for data warehouse personalized dimension table
CN114091589B (en) Model training method and device, electronic equipment and medium
CN116560683A (en) Software updating method, device, equipment and storage medium
CN104995618A (en) Electronic book inscription system
JP6865942B1 (en) Programs, methods, information processing equipment, and systems
CN111782717A (en) Data processing method and system, electronic equipment and storage medium
CN110222315A (en) A kind of data statistical approach, system and electronic equipment and storage medium
KR102141084B1 (en) Application program user interface automation test methods, electronic devices, systems and storage media
US20210034444A1 (en) System management method, non-transitory computer-readable storage medium for storing system management program, and system management device
CN113849380A (en) Hard disk slot position and signal lamp number determining method, system and related components

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
GR01 Patent grant
GR01 Patent grant