International Journal for Science and Emerging Technologies with Latest Trends (IJSETT)
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both. The term also refers to documentation of a system's \"Software architecture\". Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects. The software architecture discipline is centered on the idea of reducing complexity through abstraction and separation of concerns.