Overview
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHOR
-
Patrick GIROUX: Consulting Engineer, EADS Defence and Security Systems - Associate Professor, University of Rouen
INTRODUCTION
The Unified Modeling Language (UML) is a graphical modeling language originally designed to represent, specify, design and document software system artifacts. Adopted by the Object Management Group (OMG) as a standard, it has become an essential reference in the field of software engineering. Its richness and power of expression also make it eligible for the modeling of business concepts and processes ("business modeling") and for the engineering of non-software systems. UML is the result of the unification of proven techniques for the analysis and design of large-scale software and complex systems.
UML includes nine types of diagrams designed to characterize the system being modeled and to represent its constituent elements:
Use case diagrams describe the system's functionalities and represent the different types of demand to which it must be able to respond;
class diagrams are designed to describe the structural properties of real-world objects, domain-specific concepts or abstract notions that the system needs to grasp. They are the diagrams most frequently used in object-oriented modeling. In the software design phase, they are used to describe the static architecture of the system and the interdependencies between its components;
object diagrams provide a means of representing objects (i.e. instances of classes in class diagrams) and their relationships;
collaboration diagrams are used to formalize system implementation scenarios and show how objects are brought into play to realize use cases. They describe the interactions between objects;
sequence diagrams, like collaboration diagrams, describe interactions between objects. They emphasize the chronological order in which messages are exchanged between objects;
state diagrams (or state-transition diagrams) provide the necessary complement to the formalization of dynamic aspects: they meet the need to model execution processes and the behavior of objects in response to the stimuli to which they are subjected;
activity diagrams are also dedicated to representing the execution of a process: they are a variant of state diagrams;
component diagrams are used to describe the configuration elements that make up the software (executable binaries, libraries, compilation units, etc.) and to formalize their dependencies;
deployment diagrams represent the implementation of the various software components and programs on the system's physical architecture.
Using a few simple examples, this article...
Exclusive to subscribers. 97% yet to be discovered!
Already subscribed? Log in!
UML: software development and visual modeling
Article included in this offer
"Software technologies and System architectures"
(
227 articles
)
Updated and enriched with articles validated by our scientific committees
A set of exclusive tools to complement the resources
Bibliography
References
Exclusive to subscribers. 97% yet to be discovered!
Already subscribed? Log in!