Guide d’utilisation pour Rational Rose 2000
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 :
- Spécifier le problème et la solution
- Visualiser le problème et la solution sous différents angles
- Construire la solution
- Documenter
Les modèles du système sont visualisés par des vues.
UML et les vues
Type de vue
|
Définition
|
Vue Utilisateur
|
Elle se concentre sur les buts et les objectifs des clients du
système ainsi que sur les besoins requis par la solution.
|
Vue Structure
|
Elle offre une vue sur les aspects statiques représentant la
structure du problème.
|
Vue Comportement
|
Elle modélise les aspects dynamiques du comportement du problème et
de sa solution ainsi que les interactions et les collaborations
ntre les éléments de la solution.
|
Vue Implémentation
|
Est une vue sur les aspects de structure et de comportement de la
solution.
|
Vue Environnement
|
Une vue sur les aspects de structure et de comportement du domaine
dans lequel la solution est réalisée
|
Les diagrammes UML
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.
La définition des diagrammes
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 des composants
- Diagramme d’état
- Diagramme d’activité
- Diagramme de déploiement
Diagrame 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 :
- Les spécifications générales de la classe (type, parent)
- Les spécifications détaillées de la classe (cardinalité, concurrence, persistance)
- Les attributs de la classe
- Les opérations (pré-condition, post-condition, sémantique)
- Les associations
- Les dépendances
- Les spécifications sur les attributs de la classe
Diagrame 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
Diagrame des composants
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
Diagrame 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
Diagrame 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
Diagrame 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
Présentation de l’environnement Rational Rose
Définition
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.
Création d’un modèle Rational Rose
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.
Création d’un modèle Rational Rose: suivez les étapes suivantes:
- Exécutez l’application Rational Rose Entreprise Edition
- Cliquez sur le bouton « Cancel » puisqu’on ne va pas utiliser des
patrons
- Sauvegardez le modèle que vous allez créer
- Par défaut, Rational Rose fait la sauvegarde sous l’extension
« .mdl ».
Présentation de la page principale de Rational Rose 2000
Diagramme de cas d’utilisation
Création d’un diagramme de cas d’utilisation
- Allez sur le menu: -> Browse -> Use Case Diagram
- Sélectionnez «Use Case View» et «Use Case Diagram Use
CaseView/Main»
- Cliquez sur le bouton « Rename » et renommez le diagramme de cas
d’utilisation (Ex: Main)
Création d’un acteur
- Placez le curseur sur « Use Case View »
- Cliquez avec le bouton droit de souris et choisissez « New » ;
sélectionnez « Actor »
- Renommez l’acteur «Client»
Création d’un cas d'utilisation
- Placez le curseur sur «Use Case View»
- Cliquez avec le bouton droit de la souris ; choisissez «New» et
sélectionnez «Use Case»
- Renommez le cas d’utilisation « EmprunterLivre»
- Sélectionnez l’acteur «Client» et faites-le glisser à l’aide de la
souris sur le diagramme de cas d’utilisation.
- Sélectionnez le cas d’utilisation « EmprunterLivre » et faites-le
glisser sur le diagramme de cas d’utilisation
- Sélectionnez l’association «Unidirectional Association » de la
barre des objets UML et faites glisser le curseur avec la souris du
«Client» vers «EmprunterLivre».
Commenter un objet
- Sélectionnez l’objet avec le bouton gauche de la souris
- Placez le curseur dans la fenêtre de documentation
- Saisissez l’information sur l’objet
Supprimer un objet
- Sélectionnez l’objet avec le bouton gauche de la souris
- Cliquez une fois sur l’objet à l’aide du bouton droit
- Sélectionnez «Edit», puis «Delete»
Diagramme de classes
Création d'un diagramme de classe
- À partir du menu principal, sélectionnez «Browse» et cliquez sur
«Class Diagram» ou bien allez sur «Logical View » à Newà Class
Diagram»
- Renommez le diagramme de classe en suivant les mêmes étapes pour
les cas d’utilisation
Création des classes
- Sélectionnez «Logical View», puis cliquez sur «New Class»
- Renommez la classe
- Sélectionnez la classe créée et faites-la glisser sur le
diagramme de classe
Ajouter des commentaires
- Sélectionnez l’objet «Classe» à l’aide du bouton gauche de la
souris
- Sélectionnez la fenêtre de documentation
- Entrez les informations pertinentes
Insérer des attibuts à la classe
- Placez le curseur de la souris sur l’objet
- Cliquez sur le bouton droit et sélectionnez la fonction «New
Attribute».
- Indiquez le nom de variable pour l’attribut
Note:Par défaut Rational Rose crée les attributs de type
privé et des méthodes de type publique.
Changer ou modifier le type d'un attribut
- Sélectionnez l’objet à l’aide de la souris
- Positionnez le curseur sur le nom donné à l’attribut
- Cliquez avec le bouton droit de la souris et sélectionnez «Open
Specification»
- Sélectionnez le type de l’attribut et cliquez sur «OK»
- Pour insérer des méthodes à la classe, répétez les étapes 4 et 5 en
modifiant chaque fois «Attribute» par «Operation»
Créer les associations entre les différentes classes du diagramme
- À partir de la barre des objets UML, sélectionnez l’association
(flèche) «Unidirectionnal association».
- Dans le diagramme de classe, positionnez-vous sur la ligne de la
première classe et faites-la glisser jusqu’à la classe destinée
- Cliquez deux fois sur la ligne ainsi créée pour ajouter les
multiplicités:
- 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.
- 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 :
Création d'un diagramme de séquence
- Cliquez sur «Logical View» avec le bouton droit de la souris et
sélectionnez «New», puis «Sequence diagram».
- Renommez le diagramme de séquence en suivant les mêmes étapes
qu’avec le cas d’utilisation.
Insertion des objets
À partir du menu pour diagrammes UML,
- 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
- En utilisant l’icône de l’objet message à dessiner un message
partant de l’objet 1 vers l’objet 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.
Création d'un diagramme de collaboration
- Cliquez sur «Logical View» avec le bouton droit de la souris et
sélectionnez «New», puis «Collaboration Diagram».
- Renommez le diagramme de collaboration en suivant les mêmes étapes
qu’avec le cas d’utilisation
Ajout des objets
À partir du menu pour diagrammes UML,
- 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 objets
- En utilisant l’icône de l’objet message «Object Link»( ___ )
dessinez une ligne qui part de l’objet 1 vers l’objet 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é
- Sur «Logical View» cliquez avec le bouton droit de la souris et
sélectionnez «New à Activity Diagram»
- Renommez le diagramme d’activité que vous venez de créer
- 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
- Sur la barre d’outils, sélectionnez l’icône correspondant à «Activity»
- Placez l’activité sur le digramme d’activité et entrez son nom
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.
- Sélectionnez l’icône correspondant à une transition dans la barre
d’outils («State Transition»).
- Cliquez sur l’activité d’origine et étirez la flèche de la
transition vers l’activité suivante
Création d’activités initiales et finales
Pour indiquer le début ou la fin d’une activité:
- Sélectionnez l’icône d’état initial ou final sur la barre d’outils
- Placez-la sur le diagramme d’activité
- Sélectionnez l’icône de transition et reliez l’état initial
(final) à l’activité du début (fin)
Création de points de branchements conditionnels
- Sélectionnez l’icône de décision sur la barre d’outils
- Placez-la sur le diagramme d’activité et donnez-lui un nouveau nom
- Sélectionner l’icône de transition et étirez-le étirer afin de
relier l’activité et la décision
- Cliquez deux fois sur la décision : une fenêtre s’affiche. Dans
«General à Name» saisissez le nom de cette condition
Création de transitions conditionnelles
- Sélectionnez l’icône correspondant à une transition dans la barre
d’outils
- Cliquez sur le point de branchement et étirez la flèche de la
transition vers l’activité en aval
- Cliquez deux fois sur la flèche de transition et allez sur
«Detail -> Guard Condition» et saisissez la condition (oui ou non)
Diagramme d’état
Création d'un diagramme d'état
- 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».
- Renommez le diagramme d’état que vous venez de créer
- Cliquez deux fois sur le diagramme d’état afin de l’ouvrir
Création des états et des transitions
- Sur la barre d’outils, sélectionnez l’icône «State»
- Cliquez sur le diagramme d’état pour y placer l’état et entrez son
nom
- Créez les transitions entre les états en suivant les mêmes étapes
que pour les diagrammes d’activités
- Créez les états finaux et initiaux
- Cliquez deux fois sur la flèche de transition et saisissez
l’événement relié à cette transition
Création d’actions d’entrée et de sortie
- Sélectionnez l’état en question
- Avec le bouton droit de la souris, sélectionnez «Open Specification»
- Sélectionnez «Actions»
- Dans le champ «Actions », cliquez avec le bouton droit de la
souris et sélectionnez «Insert». Cette action aura comme effet
la création d’une entrée
- Cliquez deux fois sur «Entry»
- Choisissez le moment où l’action doit se produire : «When» : «On
Entry» (en entrée), «On Exit» (en sortie) ou «On Event» (à la
réception d’un événement)
- Dans «Type», choississez «Action » ou «Sent Event»
- Saisissez les informations relatives à l’événement
Génération du code et la rétro-ingénierie
Veuillez noter que:
- 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:
- 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.
- 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
- «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
Génération du code Java
- 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 »
- 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»
- 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
- Mettez les fichiers.java dans un sous-répertoire de votre
répertoire de travail
- Allez à «Tools -> Java/J2EE -> reverse engineering»
- Sélectionnez le nom du fichier pour lequel vous voulez faire la
rétro-ingénierie
- Cliquez sur «Add», puis sur «Select All» et finalement sur
«Reverse»
- Après avoir effectué la rétro-ingénierie des fichiers Java,
visualiser le contenu des classes générées avec Rational Rose et
compléter les dépendances avec les autres classes s’il y a lieu.
(Dernière modification: