UML, or Unified Modeling Language, is another key language used in various fields, but specifically focuses on modeling systems and software. It’s not like BPMN which directly maps business processes, but provides a flexible and standardized way to visualize and document the design of a system.
Here’s a breakdown of what UML is and how it works:
What it is:
- A visual modeling language with defined symbols and rules for creating diagrams.
- Not a programming language, but rather a tool for communication, documentation, and analysis.
- Used for object-oriented systems but can be applied to other domains as well.
Purpose:
- To help system and software developers visualize, construct, and document software and system artifacts.
- To enable communication and collaboration among different stakeholders (developers, analysts, architects).
- To explore potential designs and validate system architecture.
- To document systems for future reference and maintenance.
Types of Diagrams:
- Structure diagrams: Show the static structure of a system, including classes, relationships, and components.
- Behavior diagrams: Show the dynamic behavior of a system, including interactions between objects and sequences of actions.
- Interaction diagrams: Focus on how objects interact with each other in specific scenarios.
- Implementation diagrams: Show the physical components of a system and how they are deployed.
Benefits:
- Improves communication and understanding between stakeholders.
- Facilitates design exploration and decision-making.
- Helps identify potential problems and errors early in the development process.
- Provides a common language for documenting systems.
Resources:
- UML official website: https://formal.kastel.kit.edu/~beckert/teaching/Praktikum-Formale-Entwicklung-WS0304/00-03-01.pdf
- Visual Paradigm UML guide: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/
- Lucidchart UML page: https://www.lucidchart.com/pages/uml-class-diagram