UML
Unified Modeling Language (UML) is a standardized visual language used in computer science to specify, visualize, and document software systems. It provides a blueprint for the design and architecture of complex systems, which helps developers, engineers, and other stakeholders communicate and collaborate effectively. UML is not a programming language but a language for drawing different types of diagrams. These diagrams fall into two main categories: structural and behavioral.
Structural diagrams: Structural diagrams represent the static architecture of a system by showing its different components and their relationships.
Class diagram: A foundational diagram in object-oriented modeling that illustrates a system's classes, their attributes, methods, and the static relationships between them, such as inheritance, composition, and aggregation.
Component diagram: Shows how a software system is broken down into reusable components and visualizes the dependencies between them.
Composite structure diagram: Depicts the internal structure of a class and the relationships between its internal parts.
Deployment diagram: Models the physical deployment of software components on hardware, showing the architecture of a system in a runtime environment.
Object diagram: Captures a snapshot of the system at a specific point in time, showing object instances and their relationships.
Package diagram: Organizes elements of a system into groups or packages to show the dependencies between them.