Software architecture is an "intellectually graspable" abstraction of a complex system [REF].
It facilitates communication with stakeholders, contributing to a system that better fulfills their needs.[REF]