UML

Unified Modeling Language

Fusion de OMT, Booch et OOSE

UML (Unified Modeling Language, traduisez "langage de modélisation objet unifié") est né de la fusion des trois méthodes qui ont le plus influencé la modélisation objet au milieu des années 90 : OMT, Booch et OOSE.

OMT (James Rumbaugh) : vues statiques, dynamiques et fonctionnelles d'un système
  • Issue du centre de R/D de General Electric.
  • Notation graphique riche et lisible.
OOD (Grady Booch) : vues logiques et physiques du système
  • Définie pour le DOD, afin de rationaliser de développement d'applications ADA, puis C++.
  • Ne couvre pas la phase d'analyse dans ses 1ères versions (préconise SADT).
  • Introduit le concept de package (élément d'organisation des modèles).
OOSE (Ivar Jacobson) : couvre tout le cycle de développement
  • Issue d'un centre de développement d'Ericsson, en Suède.
  • La méthodologie repose sur l'analyse des besoins des utilisateurs.
Issu "du terrain" et fruit d'un travail d'experts reconnus, UML est le résultat d'un large consensus. De très nombreux acteurs industriels de renom ont adopté UML et participent à son développement.

What is UML?

The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.
The UML was developed by Rational Software and its partners. It is the successor to the modeling languages found in the Booch, OOSE/Jacobson, OMT and other methods. Many companies are incorporating the UML as a standard into their development processes and products, which cover disciplines such as business modeling, requirements management, analysis / design, programming and testing.

Goals of the UML

The primary goals in the design of the UML were as follows:
  • Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.
  • Provide extensibility and specialization mechanisms to extend the core concepts.
  • Be independent of particular programming languages and development processes.
  • Provide a formal basis for understanding the modeling language.
  • Encourage the growth of the OO tools market.
  • Support higher-level development concepts such as collaborations, frameworks, patterns and components.
  • Integrate best practices.

Types of UML Diagrams

Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction. UML diagrams commonly created in visual modeling tools such as GDPro include:
  1. Use Case Diagram: displays the relationship among actors and use cases.
  2. Class Diagram: models class structure and contents using design elements such as classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others.
  3. State Diagram: displays the sequences of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.
  4. Sequence Diagram: displays the time sequence of the objects participating in the interaction. This consists of the vertical dimension (time) and horizontal dimension (different objects).
  5. Collaboration Diagram: displays an interaction organized around the objects and their links to one another. Numbers are used to show the sequence of messages.
  6. Activity Diagram: displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.
  7. Component Diagram: displays the high level packaged structure of the code itself. Dependencies among components are shown, including source code components, binary code components, and executable components. Some components exist at compile time, at link time, at run times well as at more than one time.
  8. Deployment Diagram: displays the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent run-time manifestations of code units.

Source : isavix.net

Processus / méthodes utilisant UML

Les auteurs d'UML préconisent d'utiliser une démarche :
  • guidée par les besoins des utilisateurs du système,
  • centrée sur l'architecture logicielle,
  • itérative et incrémentale.
Un des processus les plus répandus : RUP - Rational Unified Process détails....



Article extrait du site Loribel.com.
https://loribel.com/java/topics/uml.html