Introduction
UML: Unified Modeling Language est un langage servant à décrire des modèles d’un système (réel ou logiciel) avec des notations. UML se base
sur les concepts orienté-objets afin de :
Les diagrammes UML fournissent les informations sur un problème et sa solution. Ils forment des modèles du système (spécifier, visualiser). Les
combinaisons de diagrammes représentent les vues du système. En UML, on utilise deux types de diagramme :
• Les aspects dynamiques: modélisent les comportements, les collaborations et les responsabilités des objets. Ex.: les diagrammes de
collaboration et de séquence.
• Les aspects statiques et structurels: modélisent les relations entre les objets. Un exemple direct considère le diagramme de classes.
Rational Rose fournit 8 différents diagrammes pour la réalisation d’un projet logiciel :
• Diagramme de classes
• Diagramme de cas d’utilisation
• Diagramme de collaboration
• Diagramme de séquence
Diagramme de classes
Le diagramme de classe permet de décrire d’une manière générique le comportement du système. Il présente les différentes classes du système.
Les éléments associés pour la modélisation d’un diagramme de classe sont :
Diagramme de séquences
Le diagramme de séquence permet de représenter les interactions entre les différents objets du système dans le temps (dynamique du système).
Les éléments associés pour la modélisation d’un diagramme de séquence sont :
• Les objets
• Les messages entre les objets
Le diagramme de composants présente les relations de dépendance entre les composantes physiques du système (programme principal, les sous-
programmes, le gestionnaire des fichiers). Les éléments associés pour la modélisation d’un diagramme des composants sont :
• Les composants
• Le programme main
• Les sous-programmes
• Les spécifications des tâches
Diagramme d'état
Le diagramme d’état permet de montrer le modèle dynamique du comportement d’une classe individuelle ou d’un objet particulier. Il montre la
séquence des états qu’un objet doit suivre pour passer à un autre état. Les éléments associés pour la modélisation d’un diagramme d’état sont :
• Les états
• Les transitions
• Le début des états
• La fin des états
Diagramme d'activité
Le diagramme d’activité représente la dynamique du système. Il montre l’enchaînement des activités d’un système ou même d’une opération. Le
diagramme d’activité représente le flot de contrôle qui retrace le fil d’exécution et qui transite d’une activité à l’autre dans le système. Les
éléments associés pour la modélisation d’un diagramme d’activité sont :
• Les décisions
• Les synchronisations
• Les activités
• Les états
• Les transitions
• Le début des états
• La fin des états
Diagramme de déploiement
Le diagramme de déploiement présente les processeurs, les cartes de contrôle et les connections entre les différents processeurs. Les éléments
associés pour la modélisation d’un diagramme de déploiement sont :
• Les processeurs
• Les cartes de contrôle
• Les connections
La famille des produits Rational Rose est conçue pour fournir un ensemble complet d’outils de modélisation graphique, d’analyse et de
conception dans le développement de logiciels basés sur les modèles UML (Unified Modeling Language), COM (Component Object Modeling),
OMT (Object Modeling Technique) et Booch ("93method for visual modeling"). Les produits Rational Rose partagent un standard universel, ce
qui a pour effet de rendre accessible la modélisation même pour des non-programmeurs.
Rational Rose utilise la modélisation graphique pour raisonner sur des problèmes complexes en s’appuyant sur des modèles organisés. Un
modèle facilite la compréhension du problème et permet de décrire les caractéristiques essentielles d’un système.
Au démarrage de Rose (Exécution de l’application Rational Rose Entreprise Edition), vous devez soit démarrer un nouveau projet, soit charger
un fichier contenant un projet en cours. Si vous démarrez un nouveau projet, Rose risque de vous proposer de choisir un « modèle », c'est-à-dire
un canevas pour ce nouveau projet. Le mieux pour nous est de ne pas choisir de tel canevas, aussi il vous faudra alors cliquer sur « Cancel » pour
ne pas choisir de modèle.
Ensuite, vous pourrez enregistrer vos diagrammes en sélectionnant le menu File/Save as. Arrivé à ce point, vous devrez bien choisir un nom pour
votre projet, c'est donc un choix à faire très tôt !
• Chargement d'un projet existant
Pour charger un projet déjà existant, vous sélectionnez le menu File/Open. Chaque projet est enregistré dans un unique fichier portant l'extension
.mdl (Par défaut, Rational Rose fait la sauvegarde sous l’extension « .mdl »). Il est vous demandé de gérer expressément les versions successives
de votre modèle UML, en faisant des copies de ce fichier, avec un nom approprié indiquant son numéro de version.
De manière générale, enregistrer souvent pour ne pas perdre de données !
Un nouveau projet étant démarré, ou bien un projet existant chargé, Rose vous affiche son interface principale (fig). Celle-ci se compose de :
La fenêtre de navigation propose une structure arborescence de votre projet, avec les rubriques Use case view, Logical View, Component View,
Deployment View et enfin Model properties. Vous utiliserez l'une ou l'autre de ces rubriques suivant l'activité en cours de votre développement.
Le menu Print de Rose permet d'imprimer tout ou partie de votre modèle UML. Le choix par défaut (indiqué dans le cadre Print range) est
d'imprimer le diagramme actuellement sélectionné. En cliquant sur le choix Selected diagrams, vous pouvez sélectionner un ou plusieurs
diagrammes à imprimer.
Le menu d'impression vous propose aussi d'imprimer les spécifications de votre modèle, c'est-à-dire toutes les données qui se trouvent dans les
fenêtres obtenues par Open Specification. Ces impressions étant très verbeuses, il est déconseillé de les utiliser pour produire vos documents
Commenter un objet
Supprimer un objet
Diagramme de classes
Création d'un diagramme de classe
1. À partir du menu principal, sélectionnez «Browse» et cliquez sur «Class Diagram» ou bien allez sur «Logical View » à New à Class
Diagram»
2. Renommez le diagramme de classe en suivant les mêmes étapes pour les cas d’utilisation
1. À partir de la barre des objets UML, sélectionnez l’association (flèche) «Unidirectionnel association».
2. Dans le diagramme de classe, positionnez-vous sur la ligne de la première classe et faites-la glisser jusqu’à la classe destinée
3. Cliquez deux fois sur la ligne ainsi créée pour ajouter les multiplicités:
o Sélectionnez «Role A Detail» et ajoutez les multiplicités (A désigne la première classe) pour indiquer le nombre d’instances d’une
classe reliées à une autre et vice versa.
o Sélectionnez «Role B Detail» et identifiez les multiplicités (B désigne la classe destination).
Diagramme de séquence
Les diagrammes de séquence que vous créez sont basés sur des scénarios. Pour commencer, choisissez un scénario simple et procédez comme
suit :
1. Cliquez sur «Logical View» avec le bouton droit de la souris et sélectionnez «New», puis «Sequence diagram».
2. Renommez le diagramme de séquence en suivant les mêmes étapes qu’avec le cas d’utilisation.
• Sélectionnez les objets en fonction du diagramme créé et faites-les glisser un à un sur la fenêtre du diagramme de séquence
Ajouter les messages pour montrer les interactions entre les objets
1. En utilisant l’icône de l’objet message à dessiner un message partant de l’objet 1 vers l’objet 2
2. Cliquez deux fois sur le message créé pour modifier ses paramètres si nécessaire
Diagramme de collaboration
Dans cette partie, nous allons créer un diagramme de collaboration basé sur un scénario.
1. Cliquez sur «Logical View» avec le bouton droit de la souris et sélectionnez «New», puis «Collaboration Diagram».
2. Renommez le diagramme de collaboration en suivant les mêmes étapes qu’avec le cas d’utilisation
• Sélectionnez les objets en fonction du diagramme créé et faites-les glisser un à un sur la fenêtre du diagramme de séquence
1. En utilisant l’icône de l’objet message «Object Link»( ___ ) dessinez une ligne qui part de l’objet 1 vers l’objet 2
2. Créez le message échangé entre les objets en utilisant l’icône de l’objet message «Message Link»( -> ), puis cliquez deux fois sur la ligne
qui relie l’objet 1 et l’objet 2. Vous venez de créer le premier message échangé entre les deux objets
Note:Un diagramme de collaboration peut être généré directement à partir d’un diagramme de séquence et vice versa en appuyant
simplement sur la touche F5 à partir du diagramme de séquence ou de collaboration.
Diagramme d'activité
Création d'un diagramme d'activité
1. Sur «Logical View» cliquez avec le bouton droit de la souris et sélectionnez «New à Activity Diagram»
2. Renommez le diagramme d’activité que vous venez de créer
3. Cliquez deux fois sur le diagramme d’activité afin de l’ouvrir : vous êtes maintenant prêt à ajouter les activités reliées à ce diagramme
Création d'activités
Création de transitions
Les transitions sont déclenchées par la fin du comportement d’une activité. Elles sont utilisées pour montrer le passage du flot de contrôle d’une
activité qui vient de finir vers une activité qui commence.
1. Sélectionnez l’icône correspondant à une transition dans la barre d’outils («State Transition»).
2. Cliquez sur l’activité d’origine et étirez la flèche de la transition vers l’activité suivante
Diagramme d’état
Création d'un diagramme d'état
1. Sur «Logical View», sélectionnez la classe que vous voulez pour créer le diagramme d’état et avec le bouton droit de la souris cliquez sur
«New -> StateChart Diagram».
2. Renommez le diagramme d’état que vous venez de créer
3. Cliquez deux fois sur le diagramme d’état afin de l’ouvrir
• La génération du code se limite à produire seulement le squelette de votre programme. L’implantation des corps des fonctions est laissée
à votre soin
• La génération du code peut se faire à partir d’une classe, d’un diagramme de classe ou d’un paquetage
Préparation:
1. Vérifiez votre modèle «.mdl : Tools -> Check Model ». S’il y a des erreurs, c’est le moment de les corriger. Cette opération est
importante pour avoir un squelette complet pour votre programme.
2. Créez deux variables d’environnement : une pour votre répertoire de travail et l’autre pour le répertoire c:\j2sdk1.4.0_version\src.zip
o «File -> Edit Path Map». À titre d’exemple, initialisez les variables d’environnement : JAVA_PROJET pour votre répertoire de
travail et J2SDK_SRC pour c:\j2sdk1.4.0_version\src.zip
1. Configurez le projet avec «Tools -> Java -> Project Specification» en ajoutant le chemin d’accès de votre répertoire de travail ainsi que
du répertoire où se trouve src.zip. Vérifiez s’ils font respectivement référence à JAVA_PROJET et J2SDK_SRC en sélectionnant «
Resolve Pathmap Variables »
2. Pour générer du code Java, sélectionnez l’ensemble des classes de votre diagramme de classes et allez à : «Tools -> Java/J2EE ->
Generate Code»
3. Révisez le code source généré (constructeurs, attributs, opérations...) et complétez-le s’il y a lieu
Rétro-ingénierie
La rétro-ingénierie est l’opération qui nous permet d’avoir une modélisation automatique des classes et des variables d’un programme écrit en
Java avec UML (inverse à la génération du code). Par exemple, à partir d’un programme écrit en langage Java, vous pourrez générer
automatiquement les classes de ce programme modélisées en UML