Software engineering should always be preceded with some sort of analysis and design tactics. So far this session, you have learned about many considerations when designing a system or application. Software development analysis helps in constructing a system. Discuss the input-process-output model, pseudocode, and flowcharts, and how each assists in the engineering process. What is the purpose of each step, and how does it affect the overall performance of an application?