Software architecture is a coherent set of abstract patterns guiding the design of each aspect of a larger software system.
...The software architect consults with clients on conceptual issues, managers on broad design issues, software engineers on innovative structural features, and computer programmers on implementation techniques, appearance, and style.
Software architecture is a sketchy map of the system. Software architecture describes the coarse grain components (usually describes the computation) of the system. The connectors between these components describe the communication, which are explicit and pictured in a relatively detailed way. In the implementation phase, the coarse components are refined into "actual components", e.g, classes and objects. In the object-oriented field, the connectors are usually implemented as interfaces.
Integrating Islands with Landmasses
International Association of Software Architects