UML
UML stands for Unified Modeling Language. This object-oriented system of notation has evolved from the work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the Rational Software Corporation. These renowned computer scientists fused their respective technologies into a single, standardized model. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling object oriented programs.
Types of UML Diagrams
UML defines nine types of diagrams: class (package), object, use case, sequence, collaboration, statechart, activity, component, and deployment.
Class Diagram Class Diagrams
Class diagrams are the backbone of almost every object oriented method, including UML. They describe the static structure of a system.
Package Diagram Package Diagrams
Package diagrams are a subset of class diagrams, but developers sometimes treat them as a separate technique. Package diagrams organize elements of a system into related groups to minimize dependencies between packages.
Object Diagram Object Diagrams
Object diagrams describe the static structure of a system at a particular time. They can be used to test class diagrams for accuracy.
Use Case Diagram Use Case Diagrams
Use case diagrams model the functionality of system using actors and use cases.
Sequence Diagram Sequence Diagrams
Sequence diagrams describe interactions among classes in terms of an exchange of messages over time.
Collaboration Diagram Collaboration Diagrams
Collaboration diagrams represent interactions between objects as a series of sequenced messages. Collaboration diagrams describe both the static structure and the dynamic behavior of a system.
Statechart Diagram Statechart Diagrams
Statechart diagrams describe the dynamic behavior of a system in response to external stimuli. Statechart diagrams are especially useful in modeling reactive objects whose states are triggered by specific events.
Activity Diagram Activity Diagrams
Activity diagrams illustrate the dynamic nature of a system by modeling the flow of control from activity to activity. An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business processes and internal operation.
Component Diagram Component Diagrams
Component diagrams describe the organization of physical software components, including source code, run-time (binary) code, and executables.
Deployment Diagram Deployment Diagrams
Deployment diagrams depict the physical resources in a system, including nodes, components, and connections.