A beginner didn't lack the software plan usually when he is in charge of the software.
Modification of the software usually waste a number of time.
Finishing the reliabe software have to do a lot of tasks.
At the beginning, you shall do "Risk Evaluation" to consider the harzards which result from the malifunction of the software.
Then do "Risk Contgrol" due to "Risk Evaluation".
"Risk Control" is very important, especially in MCU-based medical device.
"Risk Control" can lower the risk by software verification and validation.
After evaluating risk, we have to list "Software Requirement Specification (SRS)" to discribe functions of the software.
Then generate "Software Design Specification (SDS)" to describe the performance of the software.
SDS is a quantitative specification of the software.
After implement the software, we shall have software verification to test functions of units, integration and system.
At last, we have to have the software validation which make sure the performance of the software meets to the intended use.
After finishing the software validation, the software development cycle is achieved.