La arquitectura de un sistema es la estructura que lo conforma de acuerdo a sus componentes de software, propiedades extremamente visibles y la relación entre ellos. El nivel de diseño en el que se basa la arquitectura del software es complejo, pues depende de la estructura, los componentes del sistema, sus relaciones, los principios de funcionalidad, los componentes, los conectores, la configuración y las restricciones.