The term refers to the set of practices that are used for selection, defining or designing software architecture. The word software architecture connotes the remarkable structures of a software system. It can be comprehended as a group of structures required to reason the software system, which includes - software elements, relations between them, and the properties of both of them. Additionally, the term also denotes the documentation of a system's architecture. The authentication software architecture enables communication between the stakeholders, records early decisions about the high-level design, and permits the recycle of design components between the projects.
The term software architecture usually represents the following 3 models:
- Remarkable structure of a software arrangement
- Methodology of building such a high level structure
- Maintaining proper records of this high level structure