Application Architecture

A software architecture delineates how a set of structural and behavioral artifacts, modeled at decreasing levels of abstraction (essentially: analysis, design, implementation) will realize the needs expressed by the stakeholders.

The notation suggested here (UML®) for modeling a software architecture offers distinct advantages, depending on the desired end goal:

Detailed architectureCan be used to define analysis and design artifacts with the intent (or at least the possibility) to generate implementation artifacts such as code and schemas. Structural and behavioral models can be built with a high level of precision and detail.
High level architectureCan also be used for describing a relatively abstract architecture at the business, application and infrastructure levels, without the intent of having these models match the actual implementation (e.g. code, physical deployment, etc.).
The UML® notation can be combined within the same Enterprise Architect repository with other relevant notations such as BPMN™ or SysML®, and their model constructs inter-related as appropriate!