What is Software Design?

During complex projects, it will be hard to create a program without planning it before and to make it work as planned. In these cases, it is very common for the program to be filled with bugs and not meeting the customer expectations. There are three levels of design:

  1. Architectural design: Just getting a general idea
  2. High-level design: Shows all the subsystems
  3. Detailed: Shows all of the details