At my company, we highly encourage our architects and developers to communicate their design models through UML.  We have a standard set of diagrams that we regularly use to convey aspects of a given solution, including:

Component diagrams for system dependency, functional decomposition and data flow
Use case diagrams for business and system scenarios
Sequence diagrams for a […]