David Booth <firstname.lastname@example.org>
$Revision: 1.7 $ of $Date: 2002/10/21 15:13:26 $ by $Author: dbooth $
This document proposes some very simple conventions for system architecture diagrams.
This document represents the views of the author only. It has no official status. Comments are welcome.
Clearly distinguish the actors, the artifacts and the actions in your system diagram. To find them, look for nouns and verbs in your use cases. The verbs are actions, the nouns are either actors or artifacts. Here are some simple, functional definitions that distinguish them.
Note: This document is not suggesting that you standardize on these particular icons or visual symbols, nor on the terminology of "actor", "artifact" and "action". These particular terms and icons were only chosen to help explain the ideas.
Actors are physical or conceptual entities that perform actions. For example: people, companies, machines, running software, etc. In a diagram, they are the nodes. If you can, use non-rectangular shapes for actors. Example icons:
Artifacts are just pieces of information. They do not perform actions. They are used to label the actions, to indicate the information that is transferred, or to indicate input or output. To visually represent an artifact, use a page icon, box or other icon that clearly suggests "information" or "document". Don't use a round or oval shape, or your artifact will look like an actor.
Also called "responsibilities". These are verbs. They may be as simple as sending or receiving information. In a diagram, actions are arcs that connect the nodes. Sometimes it's helpful to label the arc with the action, the artifact (data) that is transferred, or both. Examples of action arcs labeled with action names:
There are two actors: a person and a computer. The person performs a login action, sending an artifact that represents a key.
If the diagram shows a Client-Server relationship, place the Client on the left and Server on the right. This is a convention that makes the diagram easier to parse. (It is analogous to the hot-on-the-left, cold-on-the-right convention for water faucets. The faucets will work the same either way, but it avoids user confusion if you follow the convention.)
Use dotted lines or shading to indicate grouping of multiple nodes into a larger, logical node.