This document presents a comparative analysis of software architecture styles, examining their strengths and weaknesses to assist software engineers in selecting appropriate styles. It discusses five architectural styles: message bus, component-based, layered, object-oriented, and service-oriented architectures, highlighting their application areas, components, and connectors. The research aims to clarify benchmarks for architects and programmers when deciding on architecture styles during the design phase.