Introducing UML: Object-Oriented Analysis and Design - Component Diagrams (
Page 5 of 8 )
A Component Diagram depicts the deployable units of your system—executables, components, data stores, among others—and the interfaces through which they interact. It’s useful for exploring the architecture of your system. Figure 1-4 presents an example of a Component Diagram for the Kennel Management System.

Figure 1-4. Component Diagram of the Kennel Management System
Exercise 103: Reading a Component Diagram
Answer the following questions about the diagram:
- The Care Giver Center is the Web page that the care giver uses to enter information about a pet. What interface does it use to provide data to the KMS?
- What other components provide data to the KMS, and through what interfaces?
- What types of contacts can be made through the Comm Center component?
Sequence Diagrams
A Sequence Diagram depicts the detailed behavior over time within one path or scenario of a single functional requirement. It’s useful for understanding the flow of messages between elements of your system. Figure 1-5 presents an example of a Sequence Diagram for the Kennel Management System.

Figure 1-5. Sequence Diagram for creating a vet record
Exercise 104: Reading a Sequence Diagram
Answer the following questions about the diagram:
- Which objects in the system are involved in creating a vet record?
- Which actors outside the system are involved in creating a vet record?
- What interface does the Vet Record Page use for creating a vet record?
- How does the system contact the veterinarian?
Class Diagrams
A Class Diagram depicts the classes and interfaces within the design of your system, as well as the relations between them. It’s useful for defining the internal, Object-Oriented structure of your code. Figure 1-6 presents an example Class Diagram from the Kennel Management System.

Figure 1-6. Class Diagram for Kennel assignment
NOTE You’ll probably notice here the two different sorts of connection between the classes. Here, the solid lines depict an association, whereas the dashed line depicts a dependency. I’ll discuss what this means in detail in the next chapter.
Exercise 105: Reading a Class Diagram
Answer the following questions about the diagram:
- What three classes are associated with the Kennel Assignment class?
- What operations can objects of the Kennel Assignment class perform?
- What attributes describe an object of the Pet Record class?
- What attributes describe an object of the Kennel Space class?
Statechart Diagrams
A Statechart Diagram depicts how the state of your system changes in response to internal and external events. It’s useful for ensuring that each event is handled properly no matter what state your system may be in. Figure 1-7 presents an example of a Statechart Diagram from the Kennel Management System. This diagram illustrates events involving the availability of kennel spaces.

Figure 1-7. Statechart Diagram for Kennel Spaces
Exercise 106: Reading a Statechart Diagram
Answer the following questions about the diagram:
- What event causes a kennel space, or pen, to enter the Defined state?
- What events (from which states) cause a pen to enter the Available state?
- What state does a pen enter when it’s currently in the Available state, and a Dismantled event occurs?
- How can a pen go from the In Use state to the Deconstructed state?
Deployment Diagrams
A Deployment Diagram depicts how the deployable units of your system—applications, components, data stores, etc.—are assigned to various nodes, as well as how the nodes communicate with each other and with devices. It’s useful both as a map of your system and as a means for studying the load across your system. Figure 1-8 presents a simple example of a Deployment Diagram for the Kennel Management System.

Figure 1-8. Deployment Diagram for the Kennel Management System
Exercise 107: Reading a Deployment Diagram
Answer the following questions about the diagram:
- Which processes are running on the reception station?
- How is the KMS server connected to the telephone?
- How does the owner’s PC access pet information on the KMS server?
- How does information go from the care giver station to the reception station?