With UML we can create a wide series of diagrams that are useful in different stages and aspects of software development (one UML diagram for each stage, or more).
Just as we would use a different map to walk through a city than to navigate an ocean, with UML we choose the type of diagram depending on what we need to understand or communicate.
Here is a brief review of each diagram.
-
Use Case Diagram: Helps capture user requirements and serves to understand how different users will interact with the system.
-
Class Diagram: Shows the static structure of concepts, types, and classes, and their relationships. Helps to design and understand how classes collaborate with each other.
-
Sequence Diagram: Models interactions between objects. Useful for understanding complex processes.
-
Collaboration Diagram: Shows a clear view of how objects collaborate to achieve a result, showing the network of messages and dependencies.
-
Package Diagram: Shows how classes are grouped and the dependencies between these packages. Fundamental for designing and understanding the architecture of a system.
-
State Diagram: Models the state change of an object in response to events (internal and external). Especially useful for objects with complex behaviors and conditionals.
-
Activity Diagram: Models a workflow or business processes, especially those that are complex and have many decisions and ramifications. Helps to visualize and optimize processes.
-
Deployment Diagram: Models the physical configuration of hardware and software in a system. Useful for understanding how the system will function in its environment and how components will be distributed and communicate.
# Conclusions
This is a guide with the summary of the diagrams that we will see, throughout these chapters we will delve into each of these diagrams.