Survey on software architecture design approaches and tools - Lim, Wendy Cheng Peng (2013)
Software Architecture is a high level software design that defines the number of distinct element with interconnection and interaction. It acts as the bridge between requirements and code. By architecture it involves in describing, interacting between the elements, patterns that guide their composition and the constraints on these elements.