Software development process
What are the development processes for embedded systems? The following can be used as a reference.
Software development process -
The general process of software design ideas and methods, including the design of software functions and implementation of algorithms and methods, software overall structural design and module design, programming and debugging, program joint debugging and testing, and writing and submitting programs.
First, demand research analysis
1. First, the relevant system analysts and users will initially understand the requirements and confirm the developed functional modules. They will list the large functional modules of the system to be developed. What are the small functional modules under each large functional module? When it is relatively clear, a small number of interfaces can be initially defined in this step.
2. The system analysts thoroughly understand and analyze the requirements and make a functional requirements document based on their own experience and needs. This document will clearly write out the system's general large function modules and small function modules under the large function modules, and will also write related interfaces and interface functions.
3. Our system analyst will confirm the need with the user again.
Second, the outline design
Developers need to outline the software system, and the outline design is the system design. The design of the software system should be considered in the outline design, including the basic processing flow of the system, interface design, module division, organization structure, function allocation, operation design, data structure design and error processing design, etc., to help the detailed design of the software. Make a solid foundation.
Third, detailed design
Based on the summary design of the previous step, the developer needs to design the software system in detail. In the detailed design, the main algorithms, data structures, class hierarchies and call relationships related to implementing specific modules will be described. Here, the design considerations of each program in each level of the software system are convenient for coding and test. It is necessary to ensure that the software requirements are all allocated to the entire software. The detailed design must be detailed enough to be coded according to the detailed design report.
Fourth, the code
In the software coding phase, the developer starts the specific writing process according to the design requirements of data structure, algorithm analysis and module implementation in the "Detailed Design Report of Software System".
The functions of each module are implemented separately, thereby realizing the requirements on the functions, performance, interfaces, interfaces, and the like of the target system.
Test the well-written system. Delivered to the user for use, the user confirms each function one by one.
Sixth, software delivery preparation
After the software test proves that the software meets the requirements, the software developer shall submit to the user the products of the target installation procedures, the User Installation Manual, the User User Guide, and the test report. The User Installation Manual should detail the requirements for the installation environment, the definition and contents of the installation software, the specific installation steps on the client, server and middleware, and the system configuration after installation. The User User Guide should include the usage process, operation steps, corresponding business introduction, special tips and precautions of the software functions, and should be exemplified when needed.
Hardware development process
1. Identify the overall hardware requirements, such as CPU processing capacity, storage capacity and speed, I/O port allocation, interface requirements, level requirements, special circuit (thick film, etc.) requirements.
2. According to the analysis of requirements, formulate the overall hardware plan, seek technical information, technical means and technical support of key devices and circuits, fully consider the technical feasibility, reliability and cost control, and put forward clear requirements for development and debugging tools, key components. Request samples and so on.
3. After the overall plan is determined, the detailed design of the hardware and the single board software is completed, including drawing the hardware schematic diagram, the functional block diagram of the single board software, coding, PCB layout, and completing the development of the bill of materials, the device code application, and the material application.
4. Bring back the PCB board and components, etc., and weld the 1~2 boards to the workshop for debugging of the board. Debug the functions in the schematic diagram and modify the schematic diagram and record if necessary. At this stage, a rigorous and effective technical review is required to ensure that the "product is correct"
5, software and hardware joint debugging, after the completion of the commissioning, functional acceptance and electromagnetic compatibility reliability test and secondary board (if necessary). Prototype production and optimization improvement, prototype review; verification, improvement process should be timely, synchronous revision, controlled design documents, drawings, bills of materials, etc.
6. Maintenance is the product summary.