当前位置:网站首页>Embedded software project process and project startup instructions (example)
Embedded software project process and project startup instructions (example)
2022-06-21 09:21:00 【Caijing embedded】
Supporting BiliBili video homepage : Just now
Matching gitee Source warehouse : Talent whale
Embedded programming skills project start-up instructions
| Document status | Document flag | 01- Project start-up instructions .md | Auditor | |
|---|---|---|---|---|
| [√] The grass draft | current version | v0.1 | Audit date | |
| [ ] Official release | author | The wolf is the whale | Approved by | |
| [ ] Modifying | Completion date | 2020-03-23 | Approval date |
Version history
| edition / state | author | participants | Start and end dates | Revision notes | Approved by |
|---|---|---|---|---|---|
Project team member
| Project leader | The wolf is the whale |
|---|---|
| The product manager | |
| project manager | |
| Requirements team | |
| Design team | |
| The development team | |
| Test team | |
| Configuration managers | |
| Quality assurance personnel |
Negative one 、 Project brief introduction
Additional chapters . This chapter is the preliminary description and conception of the project and products , The final product information will be provided in the following 《 Product definition manual 》 To determine .-1.1 Product description
function : Embedded practical example code demonstration
edit / Compile environment :Ubuntu Linux、Windows
Running environment :Ubuntu Linux、 Hardware emulator :SkyEye/ARMulator/Softgun/RealBoard/QEMU/Protenus/Keil/RTSM、 Target development board
Using language :C、C++、 Assembly, etc
control :Console Console 、Ncurses Text based user interface 、QT、Web
Interface :API、 Private communication protocol
purpose : Demonstrate embedded programming skills 、 framework 、 modular
Target group : An introduction to embedded programming 、 Look for people who implement the technology in their work
requirement : The documentation is complete 、 From easy to difficult 、 There are directory indexes 、 Modules are independent and uncoupled 、 Subject to practicality
-1.2 Project background
because UP The Lord wants to do a project from beginning to end .
One is to record your own experience , It is convenient to check and copy the code when you want to use it in your future work ;
Second, you can constantly give yourself a sense of accomplishment when you make something , Spend long evenings and weekends ;
Third, it would be nice to help anyone .〇、 Project process
This chapter is an additional chapter , It mainly introduces the operation steps required for the complete life cycle of a project , Popularize the knowledge of project management ,
Actually 《 Project start-up instructions 》 From the first chapter .0.1 Project start-up phase
The project leader or members of the startup process team shall be responsible for the project startup , The initial reason for starting the project may be the inspiration of the person in charge 、 The person in charge found the business opportunity 、 Product update iterations 、 Competitors launch new products, etc .
The commencement of the project is marked by the convening of the project kick-off meeting , The following materials shall be prepared before the kick-off meeting :
Output document :《 Project start-up instructions 》
The project start-up instructions contain the following sections :| Product definition | Demand planning | Project plan | Staffing | Rules and regulations | Risk Assessment |
|---|---|---|---|---|---|
| Product description | Research plan | Implementation plan | Project leader | project management | Key personnel flow |
| The main function | Questionnaire Data acquisition table | Time arrangement Milestone plan Progress check | The product manager | Development process | The team atmosphere is lax |
| Product characteristics | Research records | Development plan | project manager | Requirements change process | The progress is delayed |
| The significance of implementation | Research Summary | resources The budget Cost planning | Customer representative | Version control charter | Substandard quality |
| Submit the product Finish marking Prospect of achievements | Systems analysis | Deliverables plan | The development team | Confidentiality system | Cost overruns |
| constraint condition Supported operating systems Interface | Feasibility analysis | Communication plan | Test team | Bug Tracking process | Requirements change frequently |
| Target users | Competing goods analysis | Quality control plan | Personnel and responsibilities | The system of rewards and punishments | Objectives and needs are not clear |
| Project scope Use scenarios Project objectives | Commercial value | Risk control plan | Organizational structure | Insufficient personnel skills | |
| Project background | Specification | User training program | The market is shrinking | ||
| Cost requirements | Competitive products increase |
《 Project start-up instructions 》
0.2 Demand analysis stage
| Requirements definition | Competing goods analysis | Market Research | Commercial value |
|---|---|---|---|
| function Subfunction Interface | Company background | The user needs | Project value |
| Performance requirements | Number of users | Functional satisfaction | social value |
| Reliability requirements | Financing progress | Functional acceptance | User value |
| response time | Special function | User interviews | |
| Extensibility | Interactive analysis | Profit oriented | |
| Data flow diagram | User reviews | The problem of the market | |
| Running environment Design constraints | Market opportunities | ||
《 Requirements specifications 》
0.3 Outline design stage
| System architecture | System diagram | framework |
|---|---|---|
| System analysis review | System flow chart | Sequential execution |
| Outline design specification | development system | Time slice segmentation |
| System framework | Target system | Module routing |
| stability | State machine | |
| Remote upgrade | ||
| Security |
《 Outline design specification 》
0.4 Detailed design stage
| Detailed design documents | Module design documentation | Unit test documentation |
|---|---|---|
| Interface specification | Function function interface | Unit Test Case |
| API Interface function description | data structure | |
| Communication protocol | Global variables | |
| Module partition | File read and write | |
| Error output module |
0.5 Development
System prototype 、《 Coding standards 》、 Code management specifications 、 Design document specification 、 Cross check
Branch management 、bug track 、 Progress report 、 Version number Description 、CICD Auto test auto release
System analysis documentation 0.6 test
《 Test outline 》、 test plan 、 Test report 、 List of questions 、 The test case 、 Product integration testing
A functional test 、 Pressure test 、 Performance testing ( Provide performance parameters )、 Anti interference test 0.7 deliver / Release
The user instructions 、 Product description 、 Project summary 、 System management manual 、 Installation configuration manual 、 User manual
User training program 、 User training tutorial 、 System launch report 、 List of questions 、 Project acceptance report 、 Project summary report 0.8 After sales and upgrade
User experience survey 、 Defect tracking One 、 Product definition
==== Product definition A display of embedded software programming standards and skills of the source code library , Can be in Ubuntu host / Hardware emulator / Actually develop the software system running on the board , It contains a full set of development documents and source codes from simple answers to single training cases to complex software systems , Can be read 、 Can simulate 、 Can run . Demonstrate embedded software step by step C Language programming skills : Programming specification 、 Annotation specifications 、 Source file management 、 Compile control 、 Version name 、 Module writing 、 Driver writing 、 Application Writing 、 Protocol design 、 Network programming 、 System architecture 、 Module design 、 Interface design 、 human-computer interaction 、 unit testing 、 Algorithm optimization 、 version management ……
Two 、 Demand planning
==== Requirements definition One click to determine the host performance Determine the host environment Determine the compilation tool Determining the test environment ( String menu qt web Document online viewing ) boot choice Distinguish whether there is MMU
3、 ... and 、 Project plan
==== Some guidelines All the functions to be done are what you can do , Don't need to learn too much Everything you do has a practical effect Complex projects do not replace simple functions at the beginning , So that people can start from the simplest slowly contact The finished product contains at least every direction in the embedded system . name : Module name + System name + Chip name + Board level , Online detection of all devices , The code has a version without macro definitions , Version with macro definition First of all, if you can , Then everything has a practical use , Secondly, the code of each step should be done step by step , Search for arm Simulator ,51protenus SCM simulator , Decide to use the simulation platform . The goal is to use all peripherals that can be emulated , Make network communication products to control other people's sensors and actuators . Devices that can control how many people play with each other . All routines are applied in the simulator , However, it should be ensured that it can be used in the actual hardware with a little modification . The goal is that all running programs have the possibility of communicating with each other . You can connect to a website , Find out which devices are online , It is specially used to accept network requests from different hosts , Make the two devices communicate with each other . In the first stage, it is OK to clarify the programming specification . a git Use the tutorial , Example explanation . ( Draw an organization chart )
Four 、 Staffing
5、 ... and 、 Rules and regulations
==== Communication plan Wechat group 、 mail 、gitee Leaving a message. 、 Clock in the nailing time ==== project management : ZenTao Code management :gitee ==== Development process file 、 form 、 flow chart 、 Sequence diagram 、 Gantt Chart :markdown Mind mapping ( Brain map ):XMind Waterfall development 、 agile development Department management is separated from project management Source folder partition
6、 ... and 、 Risk Assessment
边栏推荐
- Electron checks the CPU and memory performance when the module is introduced
- Form Validation
- The internal structure of MySQL and how an SQL statement is executed
- Solve the problem of error when typescript object gets value
- Understanding and use of advanced pointer
- 【实战】STM32MP157开发教程之FreeRTOS系统篇3:FreeRTOS 计数型信号量
- The R language uses the fix function to modify the name of the data variable through the editor. For example, use the fix function to modify the name of the dataframe data column
- 【实战】STM32 FreeRTOS移植系列教程1:FreeRTOS 二值信号量使用
- R language ggplot2 visualization, draw two lines in the same ggplot2 graph in a graph, and use postscript function to save the visualization image to PS format file in the specified directory
- Stm32mp1 cortex M4 development part 12: expansion board vibration motor control
猜你喜欢

Understanding and use of advanced pointer

TC软件概要设计文档(手机群控)

The internal structure of MySQL and how an SQL statement is executed
![[actual combat] STM32 FreeRTOS migration series tutorial 7: FreeRTOS event flag group](/img/1c/10add042271c11cd129ddfce66f719.jpg)
[actual combat] STM32 FreeRTOS migration series tutorial 7: FreeRTOS event flag group

Stm32mp1 cortex M4 development part 10: expansion board nixie tube control

Qsort sort string

微信小程序

【实战】STM32MP157开发教程之FreeRTOS系统篇6:FreeRTOS 列表和列表项

The next stop of Intelligent Manufacturing: cloud native + edge computing two wheel drive

Storage of floating point numbers in C language in memory
随机推荐
How do I listen for changes in DOM element size?
Common shortcut keys for idea
Retrofit擴展閱讀
It is only seven days since the commencement of construction in 2022. I left the outsourcing company
Solve the problem of error when typescript object gets value
如何使用 adb shell 查询进程流量情况
Lodash real on demand approach
远程办公市场调查报告
121. Redux detailed summary + effect drawing + Case
适配华为机型中出现的那些坑
Verification code ----- SVG captcha
微信小程序
Idea common code templates
stm32mp1 Cortex M4开发篇10:扩展板数码管控制
Jar package required for full stack development
如何选择嵌入式练手项目、嵌入式开源项目大全
finally block can not complete normally
Storage of C language integer in memory
Thread pool source code analysis_ 01 futuretask source code analysis
Retrofit Extended reading