Software architecture refers to how an application or system is