Tutorial Rational Rose

45
Tutorial Rotional Rose LO19 Alexandre Penfornis Thomas Derive

description

tutorial

Transcript of Tutorial Rational Rose

  • Tutorial Rotional Rose

    LO19

    Alexandre Penfornis Thomas Derive

  • Quest ce que Rational Rose ?

    Aujourdhui, la ralisation dun logiciel doit se faire dans des dlais de plus en plus courts et doit permettre de pouvoir revenir dans le code pour effectuer diverses modifications dans les plus brefs dlais pour rpondre la demande des testeurs ou encore la demande du client utilisateur. Ce gain en temps et en modularit doit passer par une tape de conceptualisation du logiciel, des objets et des relations entre les objets manipuls par le programme. La gnration de code nest plus ltape essentielle, le code est un outil technique permettant de rpondre aux besoins conceptuels. Ainsi UML (Unified Modeling Language) est un outil qui permet aux concepteurs de logiciels de reprsenter les objets rpondant au problme et les mthodes qui permettront la manipulation de ces objets. Rational Rose est un outil de modlisation dapplication dit par la socit IBM. Il permet entre autre la ralisation de diagrammes UML. Mais il permet galement de couvrir toutes les tapes de la phase descendante du cycle en V de dveloppement dun programme jusqu ltape de gnration automatique de code dans le langage souhait (C/C++, Visual Basic, Java, XML, Application web etc).

    A qui sadresse cet outil ? Rational Rose sadresse aux concepteurs de logiciels principalement dans les tapes de modlisation du besoin et du comportement de lapplication. Pour les tudiants utcens qui suivent lunit de valeur de Gnie Logiciel LO19 (Walter Schn Jean-Louis Boulanger), cet outil savre tre un outil intressant car il permet de raliser tous les types de diagrammes vus en cours (Statecharts, Diagramme de classes, Use case, Diagrammes de collaboration, Diagrammes de squence etc) et bien sur daller encore plus loin dans la comprhension du gnie logiciel. Remarque

    Ce tutorial a t ralis dans le but premier daider les prochains tudiants en LO19 utiliser les outils fournis par Rational Rose dans le cadre de lUV. Les exemples prsents dans les diffrentes parties ont ts choisis dans les transparents du cours afin de limiter les efforts de comprhension des diagrammes en favorisant leur ralisation avec Rational Rose.

    Bonne dcouverte !

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    2

    Sommaire

    I. DEMARRAGE DE RATIONAL ROSE ........................................................................ 3

    A. ENVIRONNEMENT DE TRAVAIL ........................................................................................ 3 i. Barre doutils ............................................................................................................. 4 ii. Navigateur................................................................................................................ 11 iii. Fentre de description/documentation................................................................. 13 iv. Espace de dessin....................................................................................................... 14 v. Fentre derreurs ou fentre de Log ........................................................................ 15

    B. CONFIGURATION DE LESPACE DE TRAVAIL................................................................... 16

    II. EXEMPLES DE REALISATIONS SIMPLES........................................................ 19

    A. DIAGRAMME DE CLASSES .............................................................................................. 19 i. Ajout dune classe .................................................................................................... 21

    Paramtrages de la nouvelle classe .......................................................................... 22 Ajout dun attribut.................................................................................................... 23 Spcifications de lattribut ....................................................................................... 24 Ajout dune mthode................................................................................................ 25 Spcifications de lattribut ....................................................................................... 25

    ii. Ajout dune relation ................................................................................................. 28 Mise en place dune association............................................................................... 28 Spcifications de lassociation ................................................................................. 28 Association rflexive................................................................................................ 29 Classe-Association ................................................................................................... 30 Qualification dune association................................................................................ 31 Agrgation................................................................................................................ 31 Composition ............................................................................................................. 32 Contraintes sur les associations................................................................................ 33

    iii. Gnralisation/Spcialisation .............................................................................. 34 B. DIAGRAMME DE COLLABORATION................................................................................. 34 C. DIAGRAMME DE SEQUENCE ........................................................................................... 36 D. USE CASE (DIAGRAMME DE CAS DUTILISATION).......................................................... 39 E. STATECHARTS ............................................................................................................... 39

    III. OBSERVATIONS LIEES A NOTRE PROPRE UTILISATION ......................... 42

    A. ASTUCES ET REMARQUES IMPORTANTES ....................................................................... 42 B. DEFAUTS OBSERVES ...................................................................................................... 43

    IV. LIEN ET DOCUMENT INTERESSANTS SUR RATIONAL ROSE .................. 44

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    3

    I. Dmarrage de Rational Rose

    Rational Rose Entreprise Edition propose une gamme importante doutils, celui utilis en LO19 est loutil de modlisation (Modeler Edition).

    Lors de son lancement, une fentre souvre pour demander lutilisateur quel ancien projet il dsire ouvrir ou quel template il souhaite utiliser sil dmarre un nouveau projet. Nous conseillons de cliquer sur Annuler afin de dmarrer un nouveau projet plus personnalis.

    a. Environnement de travail Linterface utilisateur principale de Rational Rose se compose comme suit :

    On peut dcomposer la fentre principale en quatre parties. Une barre doutils qui fournit les fonctions usuelles dun programme sous forme de boutons et de menus droulant. Les boutons de la barre doutils donnent accs aux fonctions les plus couramment utilises par les utilisateurs en gnral, nous verrons plus loin que cette barre est totalement paramtrable selon les choix de lutilisateur. Les menus droulant donnent accs toutes les fonctions du programme. La fentre derreur que lon peut considrer comme une bote de dialogue entre lapplication et lutilisateur. Une bote de description des objets et un navigateur type explorateur Windows permettant daccder facilement aux diffrents fichiers et diagrammes composant le projet et de les organiser. Nous allons voir par la suite une description plus dtaille de ces quatre parties.

    Dessin des diagrammes

    Fentre derreur

    Description

    Navigateur

    Barre doutils

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    4

    i. Barre doutils La barre doutils est compose des menus droulant, une barre doutils gnrale

    horizontale et une barre doutils spcifique au type de diagramme que lutilisateur est en train de dessiner.

    Barre de menus

    La barre de menu est affiche en permanence, elle donne laccs toutes les fonctions

    du logiciel. Ces fonctions sont grises ou actives selon les lments slectionns dans les autres fentres.

    o Le menu File propose les fonctionnalits habituelles dun programme :

    Les sous-menus sont les mmes que ceux que lon peut trouver dans dautres logiciels comme un logiciel de traitement de texte. Ils permettent par exemple douvrir un nouveau fichier ou projet (New) ou un ancien fichier (Open). Les fonctions de sauvegarde habituelles sont galement prsentes. Un seul fichier .mdl contient toutes les donnes concernant un projet. La commande AutoSave Log permet la copie des informations contenues dans la fentre derreur dans un fichier part. Lextension de ce fichier est .log.

    Comme dhabitude, la commande exit de sortie du programme est galement prsente dans le menu File. Loption Edit Path Map permet de paramtrer manuellement les rpertoires de travail.

    o Le menu Edit comporte galement les fonctionnalits usuelles (Copier/Coller) :

    Ce menu permet de faire des copier/coller

    couper/coller dun ou plusieurs lments dun diagramme par exemple. Il est important de noter ici que lon ralise en fait un duplicata exact de lobjet dorigine et quune modification ultrieure dun des deux lments (lancien ou le nouveau) sera effective sur les deux objets. Le sous-menu Change Into permet de modifier les proprits principales de lobjet slectionn. Par exemple lorsquil sagit dune classe, il est possible grce cette action de la modifier en classe instancie ou en classe paramtre (laffichage est alors diffrent).

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    5

    o Le menu View permet de spcifier les zones que lon souhaite afficher

    Ce menu permet dabord de dfinir quelles parties de lespace de travail lutilisateur souhaite afficher. Laffichage des deux barres doutils se rgle dans le sous-menu Toolbars. On voit sur la figure ci-contre que lorsquune partie est visible un signe de coche est situ devant (par exemple, ici la Fentre derreur (Log) est marque comme affiche. On note la prsence dans ce sous-menu des options de zoom et dzoom trs utiles lors de dessin de diagrammes dpassant la taille de lcran de lutilisateur. Le dernier bloc de fonction de ce menu permet de modifier les conventions daffichage des diagrammes (par dfaut les convention sont celles dUML).

    Par exemple laffichage de classe en OMT sera diffrent de celui en Booch.

    Classe OMT Classe Booch

    o Le menu Format permet de rgler les paramtres

    daffichage Il permet par exemple de changer la police utilise pour la dnomination des classes. Ou encore de changer la couleur de fond et les lignes de contours dune classe particulire afin de la mettre en valeur. Pour augmenter la lisibilit de certains diagramme il est intressant de ne pas visualiser les attributs et/ou les oprations associs une classe ou lautre, on peut donc les cacher grce aux options Supress Attibutes et Suppress Operations.

    o Le menu Browse permet de naviguer dans le projet

    mais reste moins pratique que le navigateur Ce menu permet par exemple de slectionner quel type de diagramme on veut afficher dans la fentre de dessin. Su r limage ci-contre on voit que Class Diagram est coch, ce qui indique que le diagramme actuellement lcran dans la fentre principale est un diagramme de classes. Si on veut crer le diagramme de squence ou de collaboration li ce diagramme

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    6

    de classes, on pourra slectionner Interraction Diagram, pour le diagramme dactivit ou le statecharts, on pourra slectionner State Machine Diagram. Enfin on peut noter la possibilit dans ce menu douvrir la fentre de spcification de lobjet en cours (nous verrons plus long que le clic droit ou encore le double clic sur lobjet en question semblent plus appropris.

    o Le menu Report permet davoir des informations sur les

    classes et leur utilisation dans tout un projet Show Usage permet de lister tous les endroits o lobjet slectionn est impliqu dans une relation. Show Instances montre toutes les instances dun objet dans les diffrents diagrammes. Show Access Violation dtermine sil na pas t fait appel une classe dun autre projet sans importer sa dfinition et enfin Show Participants in UC liste tous les participants dun Use Case en donnant par exemple les oprations ralises par cet objet.

    o Le menu Query permet de paramtrer quels lments doivent tre visibles ou non dans le diagramme courant

    Loptions que lon trouve particulirement intressante ici est celle qui permet de filtrer les relations entre classes. Si lon veut faire disparatre toutes les relations de type gnralisation spcialisation pour ne garder que les associations, on peut facilement les faire disparatre en slectionnant Filter Relationships.

    o Le menus Tools offre de nombreux outils notamment

    pour la gnration de code

    Nous navons prsent ici que le haut du menu Tools pour des raison de commodit. Les fonctions que nous ne montrons pas sont rserves la gnration de code ou aux fonctions de reverse engineering offertes par Rational Rose. Loutil Create permet de placer sur le diagramme le type dobjet que lon souhaite crer. On slectionne par exemple Text dans le sous menu Create et une flche verticale apparat pour permettre lutilisateur de spcifier lendroit o il souhaite placer une zone de texte dans son diagramme. Check Model permet dutiliser loutil de vrification de Rational Rose. Les incohrences du modle sont alors spcifies dans le Log (fentre derreur). On peut galement noter la prsence de loutils Options qui permet de grer tous les principaux paramtres de la modlisation (police de caractres, options de sauvegarde, visualisation des diagrammes, paramtre du navigateur etc).

    o Le menu Window permet de grer la disposition des fentres

    Chaque fentre ouverte reste ouverte tant quelle na pas t ferme. Lutilisateur peut utiliser ce menu pour passer dune fentre lautre ou encore slectionner la fonction Tile pour les voir toute simultanment lcran.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    7

    o Enfin le menu Help permet daccder laide de

    Rational Rose mais aussi laide en ligne et aux communauts dutilisateurs de Rational Rose. Enfin le menu Help permet de visualiser les caractristique de la version de Rational Rose de lutilisateur.

    Barre doutils standard horizontale Pour afficher ou non cette barre doutils, on peut utiliser le menu View>Toolbars>Standard

    Un clic droit sur cette barre affiche le menu suivant :

    Activer ou dsactiver Allow Docking permet dautoriser ou non la fusion de la barre doutils standard avec les bords de la fentre. Use Large Buttons permet dafficher les boutons avec des grandes icnes. Enfin Customize permet de choisir quelle fonction lutilisateur souhaite pourvoir appeler directement avec cette barre

    doutils. Le tableau suivant dcrit toutes les fonctions que lon peut ventuellement appeler laide de cette barre doutil.

    Bouton Nom Fonction

    Create New Model or File Crer un nouveau modle / Reviens lcran de dmarrage de Rational Rose

    Open Existing Model or

    File

    Ouvre une fentre qui permet de naviguer dans lordinateur la recherche dun fichier existant .mdl ou .ptl

    Save Model File or Script

    Sauvegarde les modifications / si premier appel demande lutilisateur de spcifier un nom pour le fichier contenant le modle et un emplacement dans lordinateur

    Cut Coupe llment slectionn et le met dans le presse-papier.

    Copy Copie llments slectionn et le met dans le presse-papier.

    Paste Colle llments contenu dans le presse papier.

    Print Lance limpression de la fentre de diagramme en cours.

    Context sensitive help Permet de pointer un lment dont on dsire obtenir laide

    View Documentation Permet dafficher la documentation sur l lment slectionn.

    Browse Class Diagram Ouvre une fentre rpertoriant tous les diagrammes de classe du modle afin de choisir

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    8

    celui que lutilisateur souhaite afficher.

    Browse Interaction Diagram Ouvre une fentre rpertoriant tous les diagrammes dinteraction du modle afin de choisir celui que lutilisateur souhaite afficher.

    Browse Component

    Diagram

    Ouvre une fentre rpertoriant tous les diagrammes de composition du modle afin de choisir celui que lutilisateur souhaite afficher.

    Browse State machine

    Diagram

    Ouvre une fentre rpertoriant tous les statecharts du modle afin de choisir celui que lutilisateur souhaite afficher.

    Browse Deployement

    Diagram

    Ouvre une fentre rpertoriant tous les diagrammes de dploiement dapplication du modle afin de choisir celui que lutilisateur souhaite afficher.

    Browse Previous Diagram Recherche le diagramme prcdemment affich

    Zoom In / Zoom out Fonctions de zoom classique

    Fit in window Adapte affichage la fentre

    Undo Fit in window Inverse action prcdente

    Help Topics Affiche lindex daide de Rational Rose

    Browse Use Case Diagram Ouvre une fentre rpertoriant tous les Use Case du modle afin de choisir celui que lutilisateur souhaite afficher.

    Barre doutils verticale Cette barre doutils est spcifique au diagramme que lutilisateur est en train de raliser. Dans le cas dun Use Case, les boutons qui nous ont parus les plus intressants sont les suivants.

    Bouton Nom Fonction

    Selection tool Lorsque ce bouton est appuy, lobjet sur lequel on clique est alors slectionn

    Text Box Permet dajouter une zone de texte dans un diagramme

    Note Permet dajouter un commentaire ou une explication sous forme dun post-it

    Anchor note to item Relie un commentaire lobjet quil dcrit

    Package Pour ajouter un projet complet dans un modle.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    9

    Use Case Pour ajouter un cas dutilisation

    Actor Pour ajouter une class de strotype Acteur

    Unidirectional association Association unidirectionnelle entre deux entits dun diagramme

    Dependency or instantiates Pour marquer une dpendance fonctionnelle entre deux objets

    Generalization Pour marque un hritage (gnralisation)

    Class Pour ajouter une classe.

    Parametrized Class Pour ajouter une classe paramtre.

    Class Utility Pour ajouter une classe fournissant des oprations aux autres classes.

    Parametrized Class Utility Pour ajouter une classe fournissant des oprations aux autres classes paramtres

    Association Pour crer une association entre deux classes.

    Aggregation Pour donner la prdominance dune classe par rapport lautre on ralise une agrgation.

    Unidirectional aggregation Agrgation unidirectionnelle.

    Association Class Pour crer une classe association. On utilise cet outil entre une association prexistante et la classe que lon veut dfinir comme classe association.

    Lock Selection

    Lorsque ce bouton est enfonc, on peut rpter la mise en place de lobjet slectionn sans avoir le reslectionner dans la barre doutil. Cet outil est utile par exemple lorsquon a mis en place nos classes et que lon souhaite placer les associations les unes aprs les autres.

    Les boutons proposs par Rational Rose pour la ralisation dun diagramme de classes sont sensiblement les mmes. Dans le cas dun diagramme de collaboration des boutons spcifiques sont la disposition de lutilisateur.

    Bouton Nom Fonction

    Class Instance Instance de classe

    Object Link Lien entre deux objet diffrents

    Link to himself Lien dun objet sur lui-mme

    Link Message Envoi message entre deux objets le long dun lien (droite vers gauche bas vers haut)

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    10

    Reverse Link Message Envoi message entre deux objets le long dun lien (gauche vers droite haut vers bas)

    Data Token Echange de donnes dans un message obtenu par link message

    Reverse Data Token Echange de donnes dans un message obtenu par reverse link message

    Pour un diagramme de squence, les boutons ont encore des fonctionnalits diffrentes :

    Bouton Nom Fonction

    Object Ajout dun objet dans le diagramme de squence

    Object Message Echange de message entre deux objet

    Message to self Envoie dun message dun objet lui-mme

    Return Message Retour de message

    Destruction Marker Destruction dun objet

    Processus Call Appel de procdure

    Asynchonous Message Envoi dun message asynchrone

    Le tableau suivant prsente les boutons de cration de statecharts :

    Bouton Nom Fonction

    State Reprsentation dun tat

    Start State Entre dans une tat

    End State Sortie dun tat

    State transition Transition entre deux tats

    Transition to self Transition dun tat sur lui-mme

    Decision Prise de dcision (OUI/NON) = IF THEN IF NOT THEN

    Horizontal

    Synchronization

    Synchronisation horizontale (pour dlimiter des tats qui doivent tre termin avant de passer la transition

    Vertical Synchronization " " "

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    11

    Nous avons dsormais notre disposition tous les principaux outils de ralisation des diffrents diagramme possible sous Rational Rose. Une autre partie de lcran trs pratique est le navigateur (Browser) qui permet de se dplacer rapidement dans un projet complet.

    ii. Navigateur

    Lutilisateur peut dplacer le navigateur (dragn drop) et le placer sa convenance dans son cran sous forme dune petite fentre spare de la fentre principale ou encore le faire fusionner avec le bord droit ou gauche de la fentre principale. Par dfaut, le navigateur est fusionn et plac gauche de lespace de travail. On peut le faire apparatre ou disparatre avec la commande : View>Browser.

    Le navigateur est une reprsentation hirarchique du modle. Chaque nouvel lment du modle (classe, acteur, diagramme, use case) est ajout dans le navigateur.

    Nom du modle/projet/package

    Elments du modle logique : clasees / associations

    Attributs et mthodes dune classe

    Dvelopper (clic sur +) ou ranger (clic sur -)

    NAVIGATEUR

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    12

    Le navigateur permet :

    - dajouter un lments au modle - douvrir et de visualiser un lment existant du modle - de visualiser les relations entre les objets - de dplacer facilement un lments - de renommer les lments - etc

    Les lments sont regroups dans des rpertoires selon leur place dans le modle.

    Use Case View Logical View Component View Deployement View

    Business actors Classes Components Processes

    Business workers Class diagrams Interfaces Processors

    Business Use cases Associations Component diagrams Connectors

    Business Use Case Diagrams Interfaces Packages Devices

    Business Use Case realizations Sequence diagrams Deployment diagram

    Actors Collaboration diagrams

    Use cases Statecharts

    Associations Packages

    Use case documentation

    Use case Diagrams

    Acitvity diagrams

    Sequence diagrams

    Collaboration diagrams

    Packages

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    13

    Clic droit sur le nom du projet :

    Open permet douvrir une nouveau projet. Save et Save As pour sauvegarder le projet en cours. Write Protect NomDuProjet permet de verrouiller le projet pour viter des mauvaises manipulations pendant une prsentation par exemple. QualityArchitect pour ouvrir des templates.

    Clic droit sur Use Case View : Open Spcificationpermet de rgler les proprits gnrales des Use Case. New permet dajouter une des lments list dans le tableau prcdent. Clic droit sur un diagramme (Main) :

    Open affiche le diagramme dans lespace de travail. Print permet dimprimer le diagramme sur lequel on a cliqu. New permet de lier un fichier ou une URL. Set as Default Diagram est coch quand le diagramme est dfini comme diagramme principal.

    Le clic droit sur les autres lments du navigateur (classes, associations, attributs, mthodes) permet douvrir les spcifications (Open Specifications), de renommer, de dterminer laccs (Private, protected, public etc) et les proprits spcifiques aux lments ainsi slectionns.

    iii. Fentre de description/documentation Pour afficher, faire disparatre cette fentre, on peut utiliser le menu View>Documentation.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    14

    Le fentre de description documentation est intressante pour donner des prcisions

    sur les diffrents objets qui composent le modle. Pour chaque objet ou peut rdiger quelques lignes de documentation qui aident

    prciser une ide passe par le concepteur afin dagrmenter la comprhension de son modle par un lecteur tiers. Avec la mme technique (Drag n Drop = faire glisser) que pour les autres partie de lespace de travail, la fentre de documentation peut tre dplace la guise de lutilisateur, soit sous forme de fentre spare soit fusionne avec le bord de la fentre principale et place en haut, en bas, droite ou encore gauche de lcran. Par dfaut, cette fentre est visible sous le navigateur (Browser).

    iv. Espace de dessin

    Lespace de dessin appele Diagram Window est la fentre de base de lespace de travail. Elle est toujours visible et reprsente le plan de travail du concepteur du modle.

    Objet slectionn

    Descriptif associ lobjet slectionn

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    15

    Toutes les fentres en cours (une fentre correspond un diagramme), souvre dans cette zone de lcran. Nous avons dj vu que lon pouvait dfinir laffichage de ces fentres en mosaque ou comme ici les unes ct des autres (option Window>Tile).

    v. Fentre derreurs ou fentre de Log Pour afficher ou non la fentre de Log, nous pouvons utiliser la commande Log du menu View.

    Certaines informations sont envoyes dans la fentre de Log lors de lutilisation de Rational Rose, notamment lors de son lancement et de linitialisation des paramtres mais aussi lors de la gnration de code ou lors de tests de vrification du modle. Toutes les erreurs seront par exemple affiches dans cette partie de lcran.

    Il est galement possible denregistrer ces informations dans un fichier spcifique .log.

    Les commandes File>Save Log As et File>AutoSave Log sont les deux principales commandes permettant denregistrer le fichier .log. Le nom par dfaut de ce fichier est error.log car il est principalement utilis pour plucher les erreurs gnres dans le code. Enfin une fonction File>Clear Log permet deffacer les information contenues dans le Log jusqualors.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    16

    b. Configuration de lespace de travail

    Lavantage de la ralisation dun modle laide dun logiciel tel que Rational Rose est le gain de temps que cela induit dans le cycle de vie du logiciel. Ainsi on comprend bien quoptimiser le temps passer derrire Rational Rose sera galement un critre important. Cest pourquoi il convient de configurer au mieux son environnement de travail et de ladapter sa ralisation. Chaque modle demandera une configuration particulire. La configuration par dfaut de Rational Rose est telle quelle est adapte la plupart des ralisation. Nous conseillons tout de mme vivement tout nouvel utilisateur de commencer par se familiariser avec cet environnement et de le configurer sa convenance. Rational Rose tant extrmement complet, il est intressant de se donner un accs rapide aux seules fonctions que on est amen utiliser tout en masquant du mieux possible les options de moindre utilit.

    Il est intressant dabord selon la taille de lcran de lordinateur sur lequel Rational Rose est utilis de dfinir quelles fentres parmi celles dcrites dans la partie prcdente seront toujours visibles. Selon notre utilisation personnelle dans le cadre de lUV LO19, nous conseillons de garder le configuration par dfaut que Rational Rose propose ou ventuellement de supprimer laffichage de la fentre de Log (View>Log). Ensuite il savre important avant de crer un diagramme de configurer la barre doutils avec les boutons les plus ncessaires notre besoin. Ici nous prendrons lexemple de la ralisation dun diagramme de classes mais la dmarche est la mme pour un autre type de diagramme.

    Pour configurer la barre doutils soit mme, faire un clic droit sur la barre doutils en question et slectionner Customize pour ouvrir la fentre de configuration..

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    17

    On peut aussi utiliser les boutons Monter et Descendre pour positionner les diffrents boutons de notre barre doutils dans lordre que lon souhaite. Lutilisation de sparateur pour aussi tre un facteur de clart.

    Pour enlever le bouton Creates a package qui ne nous semble pas utile pour notre modle, on slectionne alors Creates a package dans la partie de droite. Le bouton Supprimer devient alors actif.

    On peut alors cliquer sur Supprimeret le bouton passe dans la patrie de gauche (Boutons Disponibles).

    Pour ajouter le bouton Create an association relationship, on le slection dans la liste des boutons disponibles et on clique sur ajoute, il passe alors dans la liste des boutons de la barre doutils.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    18

    On peut ensuite jouer sur la position de la barre doutils comme nous lavons vu dans la partie prcdente. Il suffit simplement de faire glisser la barre doutils vers la zone de lcran o lon souhaite la voir sattacher. Une fois les outils mis porte de main, on peut configurer les options gnrales du programme afin doptimiser le rendu du modle mais aussi lefficacit de la conception. Tools>Options

    La fentre de configuration gnrale des options souvre alors. NB : Le nombre de paramtres tant trs important, nous ne nous contenterons ici de ne prsenter que ceux qui nous on parut les plus intressants. Pour les autres, les configurations sont souvent assez intuitives et lutilisateur naura gure de mal les raliser tout seul.

    1

    2

    3

    4

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    19

    1/ Paramtres de Sauvegardes :

    Il est recommand de mettre en place une sauvegarde automatique dans un intervalle de temps assez restreint pour ne pas avoir perdu un temps prcieux lors dune erreur de manipulation ou dune dfaillance du matriel.

    Quand cette case est coche, Rational Rose cr une copie de tous les fichiers qui sont ouverts au cours dune sance de travail.

    Enfin cette option permet de sauvegarder automatiquement chaque fermeture du programme. Cette options est un peu dangereuse lorsquon

    est habitu dautres logiciel qui demandent si lon souhaite sauvegarder les changements au moment de quitter. 2/ Paramtrage des polices : Ces options permettent de rgler les formats de police que lon souhaite utiliser, par dfaut, pour la fentre de documentation et pour la fentre de Log. 3/ Paramtres de couleurs par dfaut : Permet de configurer le rendu visuel des objets que lon place sur les diagrammes notamment couleur de fond et couleur des traits de dlimitation. 4/ Autres Onglets : Les autres onglets permettent daccder des rglages plus spcifique notamment en rapport avec la gnration de code automatique. On peut remarquer que longlet Toolbars permet daccder une rubrique de configuration de toutes les barres doutils (Customize) (voir le dbut de cette partie). Une fois lespace de travail bien prpar, bien configur et adapt au besoin du concepteur du modle, nous allons voir comment raliser les principaux types de diagrammes laide dexemples simples. .

    II. Exemples de ralisations simples

    Nous nallons pas voir dans cette partie comment raliser un projet complet, mais nous allons donner les outils ncessaire la ralisation dun modle complet avec les principaux types de diagrammes ralisable avec Rational Rose.

    a. Diagramme de classes

    Un diagramme de classes mets en jeu les objets utilis par la future application avec leurs caractristiques (attributs) et leurs comportements (mthodes). Le diagramme de classes donne une ide sur les relations entre les objets : peuvent-ils communiquer entre eux ? Certains son-ils dpendants des autres ? Tous sont-ils directement utiliss par lapplication ? etc

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    20

    Dans loutil Rational Rose, les diagrammes de classe sont crs dans le rpertoire Logical View du navigateur. On peut bien sr crer plusieurs diagrammes de classe dans un mme modle. Pourtant ds la cration dun nouveau modle, Rational Rose cr automatiquement un diagramme de classes principal (Main) qui est amen contenir tous les packages de diagramme de classes dfinis en-dessous. Si vous pensez ne raliser quun seul diagramme, pour un modle modeste, il faudra spcifier ce diagramme dans le Main. Pour ajouter un nouveau diagramme de classes, fates un clic droit sur Logical View puis choisissez New et Class Diagram.

    Un nouvel lment saffiche alors dans la liste Logical View, son nom est en surbrillance, lutilisateur peut alors donner le nom de son choix son diagramme.

    Une fois le nouveau nom entr, le diagramme ainsi cr peut tre ouvert par un double-clic. Remarque : Pour supprimer un diagramme il suffit de faire un clic droit dessus dans le navigateur puis de slectionne Delete dans le menu droulant.

    Main

    Icne caractristique dun diagramme de classe

    Entrer un nom au diagramme

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    21

    i. Ajout dune classe Pour ajouter une classe dans un diagramme de classes, il y a deux mthodes :

    1- Utilisation du menu Tools :

    a. Cliquer sur Tools

    b. Slectionner Create

    c. Choisir lobjet Class

    d. Cliquer sur Class

    2- Utilisation de la barre doutil : Si le bouton correspondant lajout dune classe nest pas prsent dans la barre doutil, il peut tre ajout laide de la mthode vue prcdemment. Cliquez alors sur ce bouton.

    Une fois lobjet slectionn, le curseur de la souris devient un signe +.

    Cliquer ici pour ajouter une classe.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    22

    Lutilisateur peut alors placer la nouvelle classe dans le diagramme par un simple clic sur lemplacement souhaiter. Comme pour tout nouvel objet gnr, son nom apparat en surbrillance, lutilisateur peut alors le choisir sa convenance. Par dfaut une classe ne contient aucune mthode et aucun attribut.

    Paramtrages de la nouvelle classe Un clic droit sur la nouvelle classe cre permet dafficher le menu suivant :

    Cliquer sur Open Spcification (un double clic sur la classe permet aussi douvrir directement les spcifications de la classe). La fentre de spcification permet de paramtrer compltement la classe, comme par exemple de lui ajouter un attribut mais aussi daccder aux paramtres de ses attributs. Les diffrents onglets permette de parcourir ces spcifications. Longlet General permet daccder aux caractristiques gnrales de la classe :

    - Name : nom de la classe - Parent : Rpertoire parent dans le navigateur - Type : Type dobjet, on peut modifier le type si lon prfre spcifier cette classe

    comme une Mtaclasse par exemple - Strotype : Certaines classes ayant des comportements spcifiques peuvent tre

    strotypes dans Rational Rose, par exemple une classe reprsentant une personne agissant dans le modle peut tre strotype comme Actor.

    - Export Control : permet de dfinir les droits daccs cette classe (Public / Protected / Private / Implementation)

    Lutilisateur entre le nom de la classe.

    Ouvre la fentre de configuration de la classe

    Permet la cration de sous diagramme

    (Statecharts ou Activit)

    Pour ajouter directement un attribut la classe

    Pour ajouter une mthodes la classe

    Slectionne la classe dans le navigateur

    Paramtres daffichage dont redimension

    automatique Edition de la classe

    Utilisation de modles

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    23

    - Documentation : fournit une zone de texte qui permet de donner des explications et des prcision sur le comportement et lutilisation de la classe

    Ajout dun attribut

    Accessibilit de la classe

    1 Cliquer sur Attributes

    2 Clic droit Affichage menu

    3 Cliquer sur Insert

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    24

    Spcifications de lattribut Un double clic sur lattribut ainsi cr permet douvrir ses spcifications. Un clic sur longlet Detail permet daccder au mode de mise en mmoire de la variable et au passage de paramtre (par valeur, ou par rfrence). Par dfaut rien nest spcifi. Selon les spcifications, laffichage dans le diagramme est diffrent. Nous avons reprsent quelques possibilits de dfinition dattribut : un attribut priv non typ, un attribut typ de type boolean initialis TRUE et une attribut public.

    Un oprateur apparat dans la listeavec son nom en surbrillance, lutilisateur peut donner un nom sa convenance.

    - Name : Nom de lattribut - Class : Classe associe - Type : Type de lattribut - Strotype : pas de strotype

    pour les attributs - Initial value : valeur initiale de

    lattribut - Export Control : control

    daccs lattribut (par dfaut : private)

    - Documentation : prcisions concernant lattribut

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    25

    Ajout dune mthode Le principe pour lajout dune mthode est le mme que pour lajout dun attribut.

    Puis comme pour un attribut on peut double-cliquer sur la mthode pour ouvrir ses spcifications. Les principaux paramtres tant les mmes que ceux des attributs, non ne nous intresserons quaux spcificits des mthodes.

    Spcifications de lattribut Par dfaut les mthodes sont dclares comme publiques.

    1 Cliquer sur Oprations

    2 Clic droitAffichage Menu

    3 Cliquer sur Insert

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    26

    Le champs Type des attributs est remplac par Returned Type qui correspond au type de la valeur renvoye par la mthode. Pour dclarer une mthode avec un argument : Lutilisateur rentre le nom de son argument et double-clique pour ouvrir ses spcifications.

    1 Cliquer sur Detail

    2 Clic droit Menu

    3 Cliquer sur Insert

    - Name : Nom de largument - Owner : mthode dont largument

    est le paramtre - Type : type de largument (ici Byte) - Default : valeur de largument

    initialement

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    27

    Par dfaut, les arguments ne sont pas visibles. On peut les rendre visible avec loption Show Operation Signature.

    Pour effacer une classe dun diagramme, un simple clic droit puis Edit>Delete suffit. Par contre la classe reste prsente dans le modle. Pour la supprimer dfinitivement du modle il faut slectionner Edit>Delete From Model (Ctrl + D).

    Nous avons maintenant les principaux outils permettant de crer des classes, nous

    allons voir comment crer des relations entre ces classes.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    28

    ii. Ajout dune relation De nombreux types de relations peuvent associer deux lments dun diagramme de classes. Nous traitons ici les plus courants.

    Mise en place dune association Le curseur de la souris devient une flche vertical, point une des classes extrmit de lassociation, puis cliquer et laisser le bouton appuy pour diriger le trait pointill vers la classe qui reprsente lautre extrmit.

    Relcher le bouton de la souris. Lassociation est alors matrialise.

    Spcifications de lassociation On peut ouvrir les spcification dune association soit par un clic droit puis Open Spcification soit par un double-clic sur lassociation.

    Cliquer sur le bouton association

    Longlet General permet de : - donner un nom (habite) lassociation

    (gnralement indicatif de la relation entre les deux classes)

    - prciser le rle de A (Personne) et le

    rle de B (Maison)

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    29

    Les onglets Rle A General et Rle B Gnral permettent de dfinir laccs aux extrmits de lassociation (Private / Protected / Public / Implementation).

    Association rflexive Rational Rose permet de raliser des associations rflexives (dune classe vers elle-mme). 1 Affichage manuel :

    Longlet Rle X Detail permet notamment de : - donner le rle de X - dfinir la multiplicit de X

    (0 / 0..1 / 0..n / 1 / 1..n / n)

    CLIC CLIC

    CLIC CLIC

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    30

    2 Affichage automatique :

    Classe-Association Rational Rose permet de crer des classes-associations. 1 on commence par crer une association simple

    2 on cr la classe qui formera la classe association

    3 on slectionne loprateur Association-Class

    4 on relie lassociation la classe

    CLIC CLIC

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    31

    Qualification dune association 1 Crer association simple

    2 Ouvrir les spcification de lassociation et accder aux paramtres de lextrmit qualifie

    3 Ajouter les qualifications

    Agrgation 1 Slectionner loutil dagrgation dans la barre doutils

    1 - Clic droit

    2 - Clic sur Insert

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    32

    2 partir de lagrg et aller vers lagrgat

    3 relcher le bouton de la souris pour matrialiser lagrgation

    4 les spcifications sont les mme que pour une association classique

    Composition 1 Crer une agrgation

    2 ouvrir les spcification de lagrgation et aller voir les paramtres dtaills du composite

    Slectionner by Value dans Containment of composant

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    33

    ATTENTION : Rational Rose ne teste pas les cardinalits dans le cas dune composition !!! Si dans lexemple prcdent Molcule avait une cardinalit en 1..n il aurait accept la composition qui aurait pourtant t errone.

    Contraintes sur les associations 1 Ouvrir les spcifications de lassociation 2 Aller voir les paramtres de lextrmit que lon souhaite contraindre 3 Dcrire les contraintes dans le cadre rserv (Constraints)

    4 Cliquer sur OK

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    34

    iii. Gnralisation/Spcialisation

    Rational Rose permet dappliquer la gnralisation-spcialisation dans un diagramme de classes.

    Loutil est loprateur Generalization.

    Les outils ncessaires la ralisation dun diagramme de classes sous Rational Rose viennent dtre dcrits assez prcisment. Pour les autres diagrammes, les grands principes sont les mmes, nous ne prsenterons que les actions spcifiques la ralisation de chaque type de diagramme.

    b. Diagramme de collaboration

    Un diagramme de collaboration met en vidence les changes de messages entre les objet pendant lexcution dun scnario.

    Cette fois-ci le diagramme de collaboration sera cr dans le rpertoire Use Case View

    du navigateur. Il sagit en effet de lobservation des vnements dun scnario particulier.

    1 Faire un clic droit sur Use Csae View dans le navigateur et slectionner New>Collaboration Diagram 2 Une nouvelle fentre de diagramme souvre prsentant la barre doutils spcifique aux diagrammes de collaboration que nous avons prsent au dbut de ce tutorial. 3 Cliquer sur le bouton Object puis placer les objets sur le diagramme

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    35

    4 Ouvrir les spcification des objets Open Spcification

    5 Placer les liens entre les objets pour permettre le transit des messages oprateur Object Link

    6 Placer les messages lun aprs lautre dans lordre d excution sur les liens entre les objets oprateur Link Message oprateur Reverse Link Message

    Choisir la classe laquelle appartient lobjet

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    36

    Choix du message (clic droit)

    et on continue jusqu obtenir le diagramme complet :

    c. Diagramme de squence

    Une fois le diagramme de collaboration ralis, le diagramme de squence peut sobtenir automatiquement par appui sur la touche F5 du clavier.

    Le diagramme de squence ainsi obtenu est plac dans le rpertoire Use Case View

    dans le navigateur et porte le mme nom que le diagramme de collaboration qui a permis de le gnr automatiquement.

    squence

    collaboration

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    37

    Si lon na pas au pralable ralis de diagramme de collaboration, on cr un diagramme de squence dans Use Case View (clic droit puis New>Sequence Diagram). 1 On commence par placer les objets avec loprateur Object

    2 on complte les spcifications de ces objets (double-clic ou clic droit et Open Specification) les paramtres de spcification sont les mmes que dans le diagrammes de collaboration

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    38

    3 on met en place les messages laide du bouton Object Message

    4 On choisit le message

    5 On continue la mise en place des messages squentiels, la ligne de vie des objets actifs est allonge automatiquement par Rational Rose.

    Lappui sur la touche F5 donne le diagramme de collaboration.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    39

    d. Use Case (Diagramme de cas dutilisation) 1 Commencer par crer dans le rpertoire Use Case View un diagramme de cas dutilisation (clic droit puis New>Use Case Diagram), lui donner un nom appropri. 2 Utiliser le bouton Actor pour placer les acteurs

    3 Utiliser le bouton Use Case pour placer les actions ralises par les acteurs

    4 Mettre en place les associations entre les objets comme dans le cas du diagramme de classes.

    e. Statecharts Rational Rose permet galement la cration de statecharts. Comme dans le cas des autres diagrammes, il faut commencer par crer un nouveau diagramme dans Use Case View.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    40

    1 Cration dtats

    - Cliquer sur le bouton State

    - Placer ltat dans la fentre du diagramme

    - Ritrer lopration pour crer les tats ncessaires

    2 Affecter la transition par dfaut laide de loprateur Start State puis de loprateur State Transition Start State State Transition

    3 Mettre en place les autres transitions avec loprateur State Transition

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    41

    4 Mise en place dune condition

    - Ouvrir les spcifications de la transition laquelle on souhaite affecter la condition - Lui affecter un vnement

    - Paramtrer Detail

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    42

    III. Observations lies notre propre utilisation

    Rational Rose est un outil offrant dnormes possibilits. Nous navons ici prsent

    quune petite partie des fonctionnalits de cet outil. La suite de ce tutorial prsente nos remarques et conseils directement li lutilisation que nous en avons eu.

    a. Astuces et remarques importantes

    - Quelques raccourcis clavier bien utiles

    Racourcis Action

    F1 Affiche laide de lobjet actif

    F4 Ouvre les options gnrale du modle

    Ctrl + S Sauvegarder

    Ctrl + D Delete From Model = efface dfinitivement lobjet

    Ctrl + F Rechercher une expression, un nom. Si la case Case Sensitive est coche, un seul rsultat apparat sinon on obtient toutes les occurrences du mot recherch dans le modle.

    Ctrl + U Dzoomer

    Ctrl + I Zoomer

    Ctrl + Shift +L Mets les lignes slectionnes angle droit

    Ctrl + B Ouvre les spcifications de lobjet slectionn

    - Manipulations optimisant le temps de travail

    Lorsque lutilisateur souhaite crer plusieurs fois de suite le mme type dobjet il est trs

    intressant de verrouiller loprateur avec le bouton verrou.

    Ne pas hsiter abuser du clic droit qui donne gnralement un accs direct aux principales fonctions en relations avec lobjet ainsi slectionn.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    43

    Ne pas oublier dajouter des commentaires dans les diagrammes afin de faciliter la

    relecture et la comprhension du diagramme par une tierce personne.

    - Remarques

    Lors de la cration dune classe, si le nom spcifi existe dj dans le modle, une copie

    exacte de lancienne classe est immdiatement effectue. Si lutilisateur dsire changer les droits daccs un attribut par exemple, il peut cliquer sur le petit logo devant cet attribut (dans la classe), et slectionn les nouveaux droits.

    b. Dfauts observs Si Rational Rose est un outils extrmement complet et puissant, il reste de nombreux

    bugs qui gchent un peu son utilisation. Les principaux reproches que nous pouvons exprimer quant notre utilisation de Rational Rose concernant linterface graphique.

    Lors de la cration dun association rflexive, nous avons vu un moyen de faire une mise en page automatique et trs pratique, mais lorsquon bouge une classe avec une association rflexive, cette mise en page est modifie et rend moins clair le diagramme.

    Rational Rose ne vrifie pas quune composition est bien de multiplicit 0..1 et accepte donc une multiplicit 1..n.

  • Alexandre Penfornis Thomas Derive

    Tutorial Rational Rose LO19

    44

    Lors de la ralisation de diagramme de collaboration par exemple, les messages le long dun mme liens sont systmatiquement superposs les uns sur les autres rendant la lecture impossible. Lutilisateur est alors oblig de repositionn tous les messages la main

    Les diagrammes de squence ne permettent pas de voir les paramtres ou les valeurs

    de retour des mthodes. Les structures de contrle dans les diagrammes de squences nexistent pas, il faut les crire sous forme de texte. Dans la composition de statecharts, nous navons pas trouv de fonction permettant de gnrer une ligne verticale reprsentative dun tat ET. Enfin, lors de la composition dun diagramme de squence, les messages correspondent bien aux mthodes du destinataire mais il ny a aucune vrification dune association entre lexpditeur et le destinataire dans le diagramme de classes Main.

    IV. Lien et document intressants sur Rational Rose

    www.rational.com Mastering UML with Rational Rose 2002 (Wendy Boggs / Michael Boggs)