Article | REF: H3238 V1

UML: software development and visual modeling

Author: Patrick GIROUX

Publication date: February 10, 2004

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

  • 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...

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
UML: software development and visual modeling