Application design (also known as software architecture) is the process of creating a conceptual structured understanding of the different aspects of the application.
The process involves understanding the needs and expectations from the application as well as the resources that the application can use, and results with the software requirements specification (SRS) document(s).
The design process should take into consideration both the client's current and future needs, as well as the budget the client is willing to spend.