A bag ADT interface has been designed but not implemented. What is a good strategy for writing code?
1) Write the code from scratch without any planning
2) Start implementing the code without understanding the requirements
3) Analyze the requirements and design a solution before writing the code
4) Copy and paste code from a similar project