Software development method and device and related equipment
The Arcadia and Capella modeling tools enhance software development efficiency by defining key functions, determining behaviors, and mapping them to modules, addressing ambiguity and structural challenges in software development.
Patent Information
- Application Number
- CN202410979562.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-22
- Publication Date
- 2024-12-27
AI Technical Summary
Software records based on natural language and document carriers face challenges in ensuring information consistency, leading to ambiguity in description content and difficulty in structural changes, hindering knowledge inheritance and reuse during software updates, which complicates software development and expansion.
A software development method using the Arcadia modeling method and Capella modeling tool to define key functions, determine behaviors through scenario analysis, and map behaviors to software modules, facilitated by a definition, determination, and mapping modules, utilizing a computer device with a processor and memory to execute the method.
Enhances software development efficiency by ensuring functional integrity, optimizing performance, and improving user experience through structured design processes that align with user needs and facilitate knowledge inheritance.
Smart Images

Figure CN119201041A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of software development technology, and in particular to a software development method, device and related equipment. Background Art
[0002] Software records that use natural language and are based on document carriers have shortcomings such as difficulty in ensuring information consistency, ambiguity in description content, and difficulty in structural changes. It is difficult for subsequent researchers to fully understand software features, interactions between software parts, and potential risks. It is difficult to achieve knowledge inheritance and reuse during software updates, which is not conducive to software development and expansion.
[0003] Therefore, an improved method is urgently needed to improve the above technical problems. Summary of the invention
[0004] Based on this, it is necessary to provide a software development method, device and related equipment that can facilitate software development in response to the above technical problems.
[0005] In a first aspect, the present application provides a software development method, the method comprising:
[0006] Define the key functions of the software to be developed based on the user's preset requirements for the software to be developed;
[0007] Determine the behaviors corresponding to key functions through scenario analysis;
[0008] Mapping behaviors to software modules of the software to be developed completes the software development process.
[0009] In one embodiment, based on the preset requirements of the user for the software to be developed, key functions of the software to be developed are defined, including:
[0010] According to the user's preset requirements for the software to be developed, the Arcadia modeling method and Capella modeling tool are called to define the key functions of the software to be developed.
[0011] In one embodiment, mapping the behavior to a software module of the software to be developed to complete the software development process includes:
[0012] According to the functions corresponding to the behaviors, design software modules of the software to be developed corresponding to the functions;
[0013] Mapping behaviors onto software modules completes the software development process.
[0014] In a second aspect, the present application further provides a software development device, the device comprising:
[0015] A definition module is used to define the key functions of the software to be developed according to the user's preset requirements for the software to be developed;
[0016] The determination module is used to determine the behaviors corresponding to key functions through scenario analysis;
[0017] The mapping module is used to map the behavior to the software module of the software to be developed to complete the software development process.
[0018] In a third aspect, the present application further provides a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above-mentioned software development method when executing the computer program.
[0019] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of the above-mentioned software development method when the computer program is executed by a processor.
[0020] In a fifth aspect, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned software development method are implemented.
[0021] The above software development method defines the key functions of the software to be developed according to the preset requirements of the user for the software to be developed, and then determines the behaviors corresponding to the key functions through scenario analysis, and finally maps the behaviors to the software modules of the software to be developed to complete the software development process. The software development method of the present application facilitates the development of software and improves the efficiency of software development. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 A flowchart of a software development method in one embodiment;
[0023] Figure 2 A flowchart of mapping behaviors to software to be developed in one embodiment;
[0024] Figure 3 is a structural block diagram of a software development device in one embodiment;
[0025] Figure 4 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0027] Software records that use natural language and are based on document carriers have shortcomings such as difficulty in ensuring information consistency, ambiguity in description content, and difficulty in structural changes. It is difficult for subsequent researchers to fully understand software features, interactions between software parts, and potential risks. It is difficult to inherit and reuse knowledge during software updates, which is not conducive to software development and expansion. Based on this, the embodiments of the present application provide a software development method to improve the above technical problems.
[0028] In one embodiment, Figure 1 A software development method is provided according to an embodiment of the present application, and is described by taking the application of the method to a server as an example. The method comprises the following steps:
[0029] S101, defining key functions of the software to be developed according to the preset requirements of the user for the software to be developed.
[0030] Optionally, during the design phase of the electromagnetic field finite element simulation software, the designer needs to integrate system engineering standards, user requirements, operating environment requirements, and hardware and software functional requirements, and make an overall plan and framework design for the electromagnetic field finite element simulation software. During the analysis and design process, the designer should fully understand and allocate the needs of all stakeholders involved, and then further refine the subsystem-level functions of each component in the simulation software, the relationship between each structure, and the flow of data transmission. Such a design process not only ensures the functional integrity of the software, but also optimizes its performance and user experience.
[0031] The system architecture design process of electromagnetic field simulation software is based on the MBSE method (Model-based System Engineering). By combining the Arcadia framework, the traditional steps of requirements analysis, function definition, behavior simulation and structure implementation are systematized. This process not only includes the internal structure and behavior of the software, but also covers the interaction with external systems, such as user interface, data input and output, and hardware interface.
[0032] In the early stage of electromagnetic field simulation software development, the first thing to do is to capture and analyze the requirements. Determine the core requirements that the software should meet. These requirements include high-precision field simulation, the ability to handle multiple boundary conditions, and efficient computing performance. All these requirements are documented and converted into models in Arcadia to ensure that they can be fully tracked and implemented in the subsequent design process. For common MBSE modeling methods and tools, the Capella modeling tool that comes with the Arcadia modeling method can not only complete the modeling task, but also has the characteristics of open source compared to other modeling tools. Therefore, this article selects the Arcadia modeling method and the Capella modeling tool to establish the model.
[0033] Furthermore, the Arcadia modeling method supports the capture of abstract requirements to concrete implementation by establishing relevant models at four levels: operation analysis, system analysis, logical architecture, and physical architecture. It is used in the development of electromagnetic field finite element simulation software. The four levels correspond to the software development stages.
[0034] S102, determining the behaviors corresponding to the key functions through scenario analysis.
[0035] Optionally, after defining the key functions of the electromagnetic field simulation software through the Arcadia method based on the captured requirements, the behavior of these functions can be further refined through scenario analysis. For example, for the mesh generation function, define its specific behavior of accepting geometric input, applying mesh refinement algorithm and outputting mesh data. These functions and behaviors are modeled by using activity diagrams and state machine diagrams. In MBSE, activity diagrams, state machine diagrams, etc. can be used to describe scenarios.
[0036] S103, mapping the behavior to the software module of the software to be developed, and completing the software development process.
[0037] Optionally, this step actually converts the logical architecture into a physical architecture, which involves mapping the functions defined in the behavioral model to the actual software modules, and needs to ensure the high performance and scalability of the software, while taking into account possible future technological developments and the integration of new requirements. The use of the MBSE approach, especially in combination with the Arcadia framework to design the system architecture of the electromagnetic field finite element simulation software, not only improves the efficiency of the design process, but also enhances the functionality and reliability of the software. With this approach, we can ensure that all design activities are strictly based on user needs, and ultimately achieve a powerful, user-friendly and efficient electromagnetic field simulation tool.
[0038] The above software development method defines the key functions of the software to be developed according to the preset requirements of the user for the software to be developed, and then determines the behaviors corresponding to the key functions through scenario analysis, and finally maps the behaviors to the software modules of the software to be developed to complete the software development process. The software development method of the present application facilitates the development of software and improves the efficiency of software development.
[0039] Based on the above embodiments, Figure 2 The steps for mapping behaviors to software modules of the software to be developed are broken down and refined. Figure 2 As shown, the implementation process includes the following:
[0040] S201, designing a software module of the software to be developed corresponding to the function according to the behavior.
[0041] S202, mapping the behavior to the software module, completing the software development process.
[0042] Optionally, software development is to convert module design into specific class implementation. The logical executor is converted into a physical executor (the detailed modeling process of the physical executor can be divided into three stages: define physical functions, define physical components, and assign physical functions to components). First, based on the transformation and decomposition of logical functions at the logical architecture level, define physical functions. Secondly, defining physical components can build specific solutions to implement the logical architecture. Physical components are divided into node physical components and behavioral physical components. Among them, behavioral physical components are responsible for completing specific functions, and node physical components are responsible for providing resources for behavioral physical components. Finally, the behavioral physical components are assigned to the node physical components, and then the physical functions are assigned to the behavioral physical components. Under the action of physical connections, a physical architecture diagram is formed.
[0043] It can be understood that this embodiment provides a possible implementation method for mapping behaviors to software modules of software to be developed, which lays a foundation for subsequent software development.
[0044] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0045] Based on the same inventive concept, the embodiment of the present application also provides a software development device for implementing the software development method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more software development device embodiments provided below can refer to the limitations on the software development method above, and will not be repeated here.
[0046] In one embodiment, by Figure 3 FIG. 1 is a block diagram of a software development device in an embodiment. Figure 3 As shown, a software development device 3 is provided, the device 3 includes: a definition module 30, a determination module 31 and a mapping module 32, wherein:
[0047] A definition module 30, used to define key functions of the software to be developed according to the preset requirements of the user for the software to be developed;
[0048] A determination module 31, used to determine the behavior corresponding to the key function through scenario analysis;
[0049] The mapping module 32 is used to map the behavior to the software module of the software to be developed, so as to complete the software development process.
[0050] The above software development device defines the key functions of the software to be developed according to the preset requirements of the user for the software to be developed, and then determines the behaviors corresponding to the key functions through scenario analysis, and finally maps the behaviors to the software modules of the software to be developed to complete the software development process. The software development device of the present application facilitates the development of software and improves the efficiency of software development.
[0051] In one embodiment, the definition module 30 is specifically used for:
[0052] According to the user's preset requirements for the software to be developed, the Arcadia modeling method and Capella modeling tool are called to define the key functions of the software to be developed.
[0053] In one embodiment, the mapping module 32 is specifically used for:
[0054] According to the user's preset requirements for the software to be developed, the Arcadia modeling method and Capella modeling tool are called to define the key functions of the software to be developed.
[0055] Each module in the above software development device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0056] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 4As shown. The computer device includes a processor, a memory, a network interface and a transceiver connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The transceiver of the computer device is used to perform operations of receiving data or sending data under the control of the processor. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as sample data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a software development method is implemented.
[0057] Those skilled in the art will understand that Figure 4 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. Specifically, the computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0058] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory. The principles and specific processes of implementing each embodiment by the processor can be found in the description of the software development method embodiment in the aforementioned embodiment, which will not be repeated here.
[0059] In one embodiment, a computer-readable storage medium is provided on which a computer program is stored. When the computer program is executed by a processor, the principles and specific processes in each embodiment are implemented. Please refer to the description in the software development method embodiment in the aforementioned embodiment, which will not be repeated here.
[0060] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the principles and specific processes of implementing the embodiments can be found in the description of the software development method embodiment in the aforementioned embodiment, which will not be repeated here.
[0061] It should be noted that the information involved in this application (including but not limited to the high-frequency current, frequency, current source related information in this application, etc.) are all information or data fully authorized by all parties.
[0062] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0063] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0064] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A software development method, characterized in that: The method comprises: Defining key functions of the software to be developed according to the user's preset requirements for the software to be developed; Determine the behaviors corresponding to the key functions through scenario analysis; The behavior is mapped to the software module of the software to be developed to complete the software development process.
2. The method according to claim 1, characterized in that Defining the key functions of the software to be developed according to the preset requirements of the user for the software to be developed includes: According to the preset requirements of the user for the software to be developed, the Arcadia modeling method and the Capella modeling tool are called to define the key functions of the software to be developed.
3. The method according to claim 1, characterized in that Mapping the behavior to the software module of the software to be developed to complete the software development process includes: According to the function corresponding to the behavior, design a software module of the software to be developed corresponding to the function; The behaviors are mapped onto the software modules to complete the software development process.
4. A software development device, characterized in that: The device comprises: A definition module, used to define key functions of the software to be developed according to the preset requirements of the user for the software to be developed; A determination module, used to determine the behavior corresponding to the key function through scenario analysis; A mapping module is used to map the behavior to the software module of the software to be developed to complete the software development process.
5. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 3 are implemented.
6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 3 are implemented.
7. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 3 are implemented.