当前位置:网站首页>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
边栏推荐
- stm32mp1 Cortex M4开发篇8:扩展板LED灯控制实验
- Junit5 unit test
- R language list data object, create list data object, index list data with [[], list data practice
- Vuforia引擎支持的版本
- PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分
- 110. JS event loop and setimmediate, process.nexttick
- 【实战】STM32 FreeRTOS移植系列教程7:FreeRTOS 事件标志组
- Lei niukesi --- basis of embedded AI
- [practice] stm32mp157 development tutorial FreeRTOS system 6: FreeRTOS list and list items
- leetcode:19. Delete the penultimate node of the linked list
猜你喜欢

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

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

Binary search (integer binary)

Electron checks the CPU and memory performance when the module is introduced
![[actual combat] STM32 FreeRTOS migration series tutorial 2: FreeRTOS mutually exclusive semaphores](/img/df/197fc0861e004238a84766681c6e26.jpg)
[actual combat] STM32 FreeRTOS migration series tutorial 2: FreeRTOS mutually exclusive semaphores

adb使用技巧和usb通信原理
![[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

The spring recruitment is also terrible. Ali asked at the beginning of the interview: how to design a high concurrency system? I just split

Float floating layout clear floating

Storage of floating point numbers in C language in memory
随机推荐
Character function and string function
Abstractqueuedsynchronizer (AQS) source code detailed analysis - lock competitive resource analysis
并发-条件变量
R language obtains help information of global, package and function: use the rsitesearch function to search the information of the specified package or function in the R community help manual and arch
Vuforia引擎支持的版本
source Insight 快捷键 对照
R language factor variable type: use factor function to convert string vector to factor vector, and use as The factor function converts a factor vector into a string vector and uses as The numeric fun
android 数据库升级
Concurrency - condition variable
TC软件概要设计文档(手机群控)
适配华为机型中出现的那些坑
Qsort sort string
Full stack development
Abstractqueuedsynchronizer (AQS) source code analysis - cyclicbarrier source code analysis
finally block can not complete normally
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
【实战】STM32 FreeRTOS移植系列教程1:FreeRTOS 二值信号量使用
MySQL installation process under linux environment
《网络是怎么样连接的》读书笔记 - FTTH
Thread pool source code analysis_ 01 futuretask source code analysis