A modeling language for describing software structures and behavior. A class diagram records types and relationships; a sequence diagram records ordered interactions; a state diagram records states and event-triggered transitions.
Describe the possible states of a system and transitions triggered by events, optionally constrained by guards and accompanied by actions. The diagram emphasizes a component's lifecycle and permitted reactions. It can describe many interaction traces, while a sequence diagram focuses on the temporal ordering of messages in an interaction.
Describe an interaction through participant lifelines and ordered messages. Time usually proceeds downward. Calls, replies and execution intervals show how participants cooperate in one scenario, with optional fragments for alternatives or repetition. The diagram emphasizes message ordering across participants.
A structural diagram showing software classes or object interfaces, their attributes and operations, and relationships such as class inheritance and associations. A hollow triangle points toward a more general classifier; a dashed realization line distinguishes implementation of an interface. A plain association does not assert exclusive lifetime ownership of the referenced object.
A strong whole-part relationship in a UML class diagram, conventionally marked by a filled diamond at the whole. It expresses exclusive composite ownership and associated lifetime constraints. A stored reference or observer-registration association alone does not establish composition: the same observer may be registered with several subjects unless the design forbids it.
Articles by others on the same topic
Unified Modeling Language (UML) is a standardized modeling language used in software engineering to specify, visualize, implement, and document the artifacts of software systems. UML provides a set of graphical notations that allow developers and stakeholders to create models that represent the structure and behavior of software systems. Here are some key aspects of UML: 1. **Purpose**: UML helps to facilitate communication and understanding among project stakeholders, including developers, architects, analysts, and non-technical stakeholders.