This paper has highlighted the need for software architecture and how it can be used prior to software development. The important components of a system are functional and non-functional components. To achieve the software quality, the non-functional requirements are required to be considered in software development.