Waterfall Development Approach
The traditional process for developing embedded controllers is still very closely related to the "waterfall" development model which involves the following set of activities performed more-or-less sequentially:
- advanced R&D design new features
- high level requirements
- high level design
- detailed requirements
- functional tests
- detailed design documents
- coding of architecture
- coding of features
- unit testing of features
- incremental integration and regression testing
- functional, HIL testing
- system testing
Issues
- Requirements and integration errors are discovered late in the process
- Remediation of these errors requires repeating all interim steps
- Coding and debugging is time intensive, costly and difficult
- The total elapsed time for the most simple controls is many months
- No requirements changes can be made or advanced algorithms introduced without jeopardizing the entire project
The better solution is agile, model-based design...