当前位置:网站首页>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

 

原网站

版权声明
本文为[Caijing embedded]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/172/202206210917520061.html