Following are tips and techniques that you can use when working with UML 2.0 Component Diagrams. It can be convenient to start creation of a model with Component Diagrams if you are modeling a large system. For example, a distributed, client-server software system, with numerous interconnected modules. You use Component Diagrams for modeling a logical structure of your system, while you use Deployment Diagrams for modeling a physical structure.
To design a UML 2.0 Component Diagram, follow this general procedure:
- Create a hierarchy of components. The largest component can be the whole system or its major part (for example, server application, IDE, service).
Tip: You can create nested component nodes. There are two methods for creating a nested component node: You can select an existing component and add a child component inside. Alternatively, you can create two separate components and connect them with an Association-Composition link.
- In the hierarchy of components, you can end up by adding concrete classes and instance specifications. You can create them on a Component Diagram directly, or create them on a Class Diagram and put shortcuts on a Component Diagram.
- Create interfaces. Each component can have a provided interface and a required interface.
- Optionally, create artifacts. Usually, you describe physical artifacts of your system on Deployment Diagrams. But if some component is closely connected with its physical store, add and link an artifact to a Component Diagram.
Tip: You can create nested artifacts.
- Optionally, create ports for your components. You can attach a port to a component and link it with several classes or components inside. In this case, when a message arrives, this port decides which class must handle it.
- Draw links between elements.
- You can optionally create shortcuts to related elements of other diagrams.