NOTATION UML AVEC RATIONAL ROSE -...

23
N N O O T T A A T T I I O O N N U U M M L L A A V V E E C C R R A A T T I I O O N N A A L L R R O O S S E E G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES ........................................................................................................................................................ 2 1.1 ENVIRONNEMENT LOGICIEL................................................................................................................................. 2 1.2 LES VUES DU LOGICIEL ROSE ............................................................................................................................. 3 1.3 ORGANISATION RECOMMANDÉE .......................................................................................................................... 3 2 DIAGRAMME DE CAS D'UTILISATION - USE CASE VIEW - ...................................................................... 3 2.1 ETAPES DE LA CRÉATION DU DIAGRAMME DES CAS D'UTILISATION ...................................................................... 4 2.2 DIAGRAMME DE CAS D'UTILISATION RESULTANT.................................................................................................. 6 3 LES SCÉNARIOS – USE CASE VIEW - ............................................................................................................... 7 3.1 SCÉNARIO(S) ENREGISTREMENT D'UN PASSAGE................................................................................................... 7 3.1.1 Objectif ........................................................................................................................................................ 7 3.1.2 Réalisation................................................................................................................................................... 7 3.2 SCÉNARIO ANALYSE DES DONNÉES...................................................................................................................... 9 4 LES DIAGRAMMES DE CLASSES - LOGICAL VIEW - ................................................................................ 10 4.1 CRÉATION D'UN DIAGRAMME DE CLASSE ASSOCIÉ À UN PAQUETAGE ................................................................. 10 Création d'un paquetage ........................................................................................................................................... 10 4.1.2 Définition du diagramme des classes associé au paquetage Enregistrement d'un passage ...................... 11 4.1.3 Définition du diagramme des classes associé au paquetage Analyse des données ................................... 14 4.2 CONSTRUCTION DU DIAGRAMME DE CLASSES GLOBAL ...................................................................................... 15 5 LES DIAGRAMMES DE SÉQUENCES DE COLLABORATION -USE CASE VIEW- ................................ 16 5.1 LE DIAGRAMME DE SÉQUENCE ASSOCIÉ AU CAS ENREGISTREMENT D'UN PASSAGE ............................................ 16 5.1.1 Création d'un diagramme de séquence ..................................................................................................... 16 5.1.2 Objectif ...................................................................................................................................................... 16 5.1.3 Composants d'un diagramme de séquence ................................................................................................ 17 5.1.4 Génération automatique des opérations ................................................................................................... 17 5.2 LES DIAGRAMMES DE COLLABORATION ............................................................................................................. 18 6 LES DIAGRAMME D’ÉTATS -LOGICAL VIEW- ........................................................................................... 19 6.1 PRINCIPES .......................................................................................................................................................... 19 6.2 RÉSULTATS ........................................................................................................................................................ 21 6.2.1 Diagramme d'état transitions de la classe BOITIERS .............................................................................. 21 6.2.2 Diagramme d'état transitions de la classe VISITEURS ............................................................................ 21 7 DIAGRAMME DE CLASSES COMPLET .......................................................................................................... 22 8 IMPLANTATION – COMPONENT, DEPLOYEMENT VUES -...................................................................... 22 ANNEXE : EXERCICE LES CONTRÔLES D'ACCÈS............................................................................................. 23

Transcript of NOTATION UML AVEC RATIONAL ROSE -...

NNOOTTAATTIIOONN UUMMLL AAVVEECC RRAATTIIOONNAALL RROOSSEE

G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES........................................................................................................................................................2

1.1 ENVIRONNEMENT LOGICIEL.................................................................................................................................2 1.2 LES VUES DU LOGICIEL ROSE.............................................................................................................................3 1.3 ORGANISATION RECOMMANDÉE..........................................................................................................................3

2 DIAGRAMME DE CAS D'UTILISATION - USE CASE VIEW - ......................................................................3 2.1 ETAPES DE LA CRÉATION DU DIAGRAMME DES CAS D'UTILISATION......................................................................4 2.2 DIAGRAMME DE CAS D'UTILISATION RESULTANT..................................................................................................6

3 LES SCÉNARIOS – USE CASE VIEW - ...............................................................................................................7 3.1 SCÉNARIO(S) ENREGISTREMENT D'UN PASSAGE...................................................................................................7

3.1.1 Objectif........................................................................................................................................................7 3.1.2 Réalisation...................................................................................................................................................7

3.2 SCÉNARIO ANALYSE DES DONNÉES......................................................................................................................9

4 LES DIAGRAMMES DE CLASSES - LOGICAL VIEW - ................................................................................10 4.1 CRÉATION D'UN DIAGRAMME DE CLASSE ASSOCIÉ À UN PAQUETAGE.................................................................10

Création d'un paquetage ...........................................................................................................................................10 4.1.2 Définition du diagramme des classes associé au paquetage Enregistrement d'un passage......................11 4.1.3 Définition du diagramme des classes associé au paquetage Analyse des données ...................................14

4.2 CONSTRUCTION DU DIAGRAMME DE CLASSES GLOBAL ......................................................................................15

5 LES DIAGRAMMES DE SÉQUENCES DE COLLABORATION -USE CASE VIEW-................................16 5.1 LE DIAGRAMME DE SÉQUENCE ASSOCIÉ AU CAS ENREGISTREMENT D'UN PASSAGE............................................16

5.1.1 Création d'un diagramme de séquence .....................................................................................................16 5.1.2 Objectif......................................................................................................................................................16 5.1.3 Composants d'un diagramme de séquence................................................................................................17 5.1.4 Génération automatique des opérations ...................................................................................................17

5.2 LES DIAGRAMMES DE COLLABORATION .............................................................................................................18

6 LES DIAGRAMME D’ÉTATS -LOGICAL VIEW- ...........................................................................................19 6.1 PRINCIPES ..........................................................................................................................................................19 6.2 RÉSULTATS ........................................................................................................................................................21

6.2.1 Diagramme d'état transitions de la classe BOITIERS ..............................................................................21 6.2.2 Diagramme d'état transitions de la classe VISITEURS ............................................................................21

7 DIAGRAMME DE CLASSES COMPLET ..........................................................................................................22

8 IMPLANTATION – COMPONENT, DEPLOYEMENT VUES -......................................................................22

ANNEXE : EXERCICE LES CONTRÔLES D'ACCÈS.............................................................................................23

1 GÉNÉRALITES Définition : atelier de modélisation et de développement de logiciel orienté objet basé sur la notation UML.

1.1 ENVIRONNEMENT LOGICIEL Démarrage : Démarrer/Programmes/Génie Logiciel/Rose/Rose (Entreprise Edition) Vous obtenez l’écran suivant :

Cet écran se décompose en 3 parties : • La partie gauche haute regroupe un référentiel avec notamment les 4 vues de ROSE • La partie droite représente l’espace de travail • La partie gauche basse présente la documentation associée à l’élément sélectionné dans le

réferentiel. Dans le fonctionnement de ce logiciel, nous retrouvons des principes communs à l'explorateur Windows. En double-cliquant sur un élément du référentiel, nous obtenons des détails dans la partie droite. Nous rappelons que UML repose sur différents diagrammes : • Cas d'utilisation • Statique : Diagramme de classes • Dynamique : scénarios, états, collaborations, séquences, activités • Réalisation : Composants, déploiement

UML privilégie l'approche par les données et n'impose pas une démarche précise.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 2 sur 23 Rational ROSE

1.2 LES VUES DU LOGICIEL ROSE Le logiciel ROSE propose de concevoir et de développer un logiciel (définition de ces différents diagrammes) selon 4 vues :

♦ Use Case View : Cette Vue des cas d'utilisation permet de définir les cas d'utilisation ainsi que les scénarios, les diagrammes de séquence et de collaboration associés.

♦ Logical View : Cette vue logique permet de spécifier les diagrammes de classes et les diagrammes d’état associés.

♦ Component View : Cette vue permet de décrire les diagrammes des composants pour la génération de codes

♦ Deployment View : Cette vue permet de spécifier le diagramme de déploiement afin de spécifier l’architecture matérielle du système.

L'objectif de ce TP est de découvrir l'atelier ROSE tout en proposant une démarche de conception et de développement de logiciels objet (cf. sujet en annexe 1). Plus précisément, nous nous concentrerons sur les 2 premières vues (cas d'utilisation et logique)

1.3 ORGANISATION RECOMMANDÉE Pour faciliter le développement et la maintenance de vos différents diagrammes UML avec l'atelier ROSE, nous vous proposons de respecter l'organisation suivante :

Vue Élément Contenu

Main Diagramme des cas d'utilisation

Use Case View

Pour chaque cas d'utilisation Différents diagrammes associés :

♦ Scénario (s)

♦ Diagramme (s) de séquence

♦ Diagramme(s) de collaboration

Main Diagramme de classes complet

Pour chaque paquetage associé à un cas d'utilisation

Diagramme de classes partiel Logical View

Pour chaque classe Diagramme d'états

2 DIAGRAMME DE CAS D'UTILISATION - USE CASE VIEW - Dans ROSE (comme dans la notation UML), le diagramme des cas d’utilisation est essentiel et nous allons commencer par ce diagramme. Dans un premier temps, nous modélisons le système au travers de l ‘équivalent d’un modèle de communication de Merise. Ce premier diagramme présente une vision fonctionnelle du système Dans ce premier modèle, nous trouvons les concepts classiques d’UML :

♦ Système : futur système informatique (vu aussi comme un processus) ♦ Acteur : utilisateur externe (individu ou autre système) ♦ Cas : fonction assurée par le système ; activité non détaillée ♦ Relations : acteur-cas ou autre cas

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 3 sur 23 Rational ROSE

Notre objectif est la création du diagramme des cas d’utilisation suivant :

Archivage des passages

Système

Boîtier d'accèsAnalyse des données

Gestion des données

Poste de contrôleEnregistrement passage

Contrôleur porte

2.1 ETAPES DE LA CRÉATION DU DIAGRAMME DES CAS D'UTILISATION Etape 1 : création d'un diagramme de cas d’utilisation "vide" Dans la partie Référentiel, développer l'arborescence de Use Case View et Double cliquer sur Main (afin d'intégrer le diagramme dans ce fichier). Vous obtenez l’écran suivant :

Il ne vous reste plus qu’à créer le diagramme des cas d'utilisation.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 4 sur 23 Rational ROSE

Etape 2 : Définition des acteurs Nous travaillons dans la fenêtre Main précédemment ouverte (fenêtre de droite). Pour créer un acteur, il faut sélectionner l’icône correspondant dans la barre d’outils et le placer dans l’espace de travail. Pour donner un nom à chaque acteur, il faut double cliquer sur sa représentation et remplir la boite de dialogue suivante :

Nom de l'acteur

Etape 3 : Définition des cas d'utilisation Sélection de l’icône correspondant dans la barre d’outils et clic dans l’espace de travail. Pour nommer les cas, il faut aussi double-cliquer sur le cas pour obtenir la boîte de dialogue suivante :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 5 sur 23 Rational ROSE

Etape 4 : Définition des relations La norme UML propose 3 types de relations : ♦ Relation de déclenchement ou communication entre un acteur et un cas ♦ Relation d’utilisation ou d’extension entre cas Pour traduire ces deux idées, on utilise les icônes suivants :

Nommé Unidirectional associationpour les relations de déclenchement

Nommé Generalized association pour les liens d’utilisation et d’extension

Pour les nommer ou supprimer l'orientation des relations, il suffit de sélectionner les options specification et navigable du menu contextuel de chaque lien (après un clic droit). Etape 5 : Définition du système Le concept de système défini dans la notation UML n'existe pas dans le logiciel ROSE. Pour représenter le concept de système, nous vous proposons d'utiliser le premier bouton de la barre d'outils précédente (Package). Pour lui donner un nom, il suffit d'utiliser l'option spécification du menu contextuel (clic droit) du package.

2.2 DIAGRAMME DE CAS D'UTILISATION RESULTANT Voilà ce que l’on obtient ; il faut remarquer que tous les éléments créés précédemment sont visibles dans le référentiel au travers de la vue des cas d’utilisation ; il sera possible de les déplacer dans une autre vue si nécessaire.

Nous compléterons ultérieurement cette vue des cas d’utilisation.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 6 sur 23 Rational ROSE

3 LES SCÉNARIOS – USE CASE VIEW - Les scénarios étudient l'interaction entre les acteurs et le système (envoi de messages). On peut associer un scénario à chacun des cas d'utilisation ayant une interaction avec au moins un acteur. Par exemple, il est inutile d'écrire un scénario pour le cas d'utilisation "Archivage des passage" qui repose sur un déclenchement automatique. De même, le cas d'utilisation "Gestion des données" reposant sur une interaction simpliste ne donnera pas lieu à l'écriture d'un scénario. Pour la définition des scénarios, nous utiliserons le formalisme proposé pour les diagrammes de séquence.

3.1 SCÉNARIO(S) ENREGISTREMENT D'UN PASSAGE

3.1.1 Objectif Notre objectif est de réaliser le schéma suivant.

Boîtier Système Poste de contrôle

Contrôleur Porte

Lecture d'une carte (Carte)

Allumage voyant vert

Lecture d'une carte (Carte)Accès interdit (InfoContrôle)

Allumage voyant rouge

Ouverture de la porte

Il permet de modéliser les deux types de passages (réel ou impossible)

3.1.2 Réalisation Création d'un scénario: ♦ Sélection d'un cas d'utilisation (dans la partie Use Case View du référentiel) ♦ clic droit + New + Sequence diagram. ♦ Nommer le scénario Construction d'un scénario 1. Pour les acteurs, il suffit de faire des

"cliquer-déplacer" du référentiel vers l’espace de travail (ne pas les créer à nouveau).

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 7 sur 23 Rational ROSE

2. Pour modéliser l'objet système, il suffit de sélectionner l'icône "object" dans la boite d'outils et de le déplacer dans l'espace de travail. Pour lui donner un nom, il suffit de double-cliquer sur cet objet et saisir le nom dans la boite de dialogue ouverte.

Icône "Object"

3. Pour créer un lien entre un acteur et un objet ou un lien inter-objets, il faut sélectionner dans la

boite de dialogue l’élément correspondant (object message) et relier les éléments concernés.

Icônes "Message"

4. Pour nommer un message, il suffit de double cliquer

dessus pour obtenir la boite de dialogue suivante :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 8 sur 23 Rational ROSE

Schéma final :

3.2 SCÉNARIO ANALYSE DES DONNÉES Sélectionner le cas d'utilisation Analyse des données dans la "use case view" et appliquer les principes définis précédemment afin de construire le scénario suivant :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 9 sur 23 Rational ROSE

4 LES DIAGRAMMES DE CLASSES - LOGICAL VIEW - Maintenant, nous passons à la définition de la vue logique du système. Dans cette vue, nous pouvons définir :

♦ un fichier Main, représentant le diagramme de classes global ♦ différents paquetages représentant une vision parcellaire de la vue logique du système. Par

exemple, nous pouvons définir un paquetage pour chaque cas d’utilisation. Ainsi, chaque paquetage contiendra :

• un diagramme de classes (DCL) • les différents composants ce DCL : classes avec leurs propriétés

On va commencer par créer et décrire le contenu des différents paquetages puis ensuite décrire le contenu du fichier Main.

4.1 CRÉATION D'UN DIAGRAMME DE CLASSE ASSOCIÉ À UN PAQUETAGE

4.1.1 Création d'un paquetage Principe : ♦ Clic droit sur Logical view (dans le référentiel) ♦ Option New / Package ; ♦ Nommer le paquetage Dans cet exercice, nous allons créer deux paquetages

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 10 sur 23 Rational ROSE

Plus précisément, nous allons construire le diagramme des classes suivant :

PERSONNESNomPrénomN°Carte

CALENDRIERDateHeure

ACCUEILLEDateFin

SOCIETESIntituléAdresse

VISITEURSNoVisiteurNoPièce

1..*

0..1

1..*

0..1

Appartient

EMPLOYESMatriculeTél

CALENDRIERDateHeure

PASSAGEVoyant

BOITIERSNoBoitierE/SNoPorteNiveauB

ENTITES

BATIMENTSResponsable

PIECES

Paquetage Enregistrement d'un passage

Paquetage Analyse des données

0..* 0..1

1..*

1..1

4.1.2 Définition du diagramme des classes associé au paquetage Enregistrement d'un passage

Au sein du paquetage, pour créer un diagramme de classes : clic droit sur le nom du paquetage/New/Class diagram puis lui donner un nom. Nous allons uniquement créer la partie statique des classes. Etape 1 : création des classes Sélection de l’icône correspondant dans la barre d’outils puis clic dans l’espace de travail. Pour définir la partie statique des classes, il suffit de double-cliquer (ou clic droit + spécification) sur sa représentation. On peut également double-cliquer sur le nom de la classe présente dans le référentiel. Cette commande ouvre une boite de dialogue dans laquelle : ♦ l'onglet général permet de définir le nom de la classe ♦ l'onglet Attributes permet de créer les différents attributs ; Pour insérer un nouvel attribut, il

faut faire un clic droit sur la partie vide de la nouvelle boite de dialogue + option insert. Pour

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 11 sur 23 Rational ROSE

définir des propriétés complémentaires aux attributs ; il suffit de double-cliquer dessus. Notamment, on peut définir son type, sa valeur initiale et son contrôle d’exportation : publique, protégé, privé ou d’implantation (cf. page d'écran suivante).

Etape 2 : Définition des relations ♦ Pour définir une relation : Sélection de l’icône correspondant dans la barre d’outils et liaison des

classes dans la zone de travail. ♦ Pour nommer une relation : clic droit sur la relation +spécification ♦ Pour mettre des cardinalités : sélection de l’extrémité d’une relation + clic droit + option

multiplicity et sélection des cardinalités ♦ Il est possible d’orienter une relation de composition ou d’association (pour préparer

l’implantation du système : on impose un sens de lecture de la relation) : sélection de l’extrémité du lien + clic droit + sélection ou non de l’option Navigable (pour plus de sécurité ; il faut le faire sur les 2 extrémités du lien)

Remarques : 1. Si le bouton représentant le lien de composition est absent de la barre d'outils, il suffit

d'effectuer les opérations suivantes : ♦ Clic droit sur la barre d'outils ♦ Sélection de l'option Customize ♦ Ajout du bouton recherché

2. Pour l’héritage multiple, il faut relier d’abord une sous-classe à la super-classe puis les autres sous-classes au lien d’héritage précédemment construit.

3. Les associations n-aires ne peuvent pas se représenter avec les composants de base de ROSE. Toutes les associations n-aire (avec n ≥ 3) se représenteront par un n association binaire. Afin de différencier la classe d'association des autres classes d'objet, nous créerons un stéréotype

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 12 sur 23 Rational ROSE

spécifique. Notamment, la classe d'association "PASSAGE" possédera les spécifications suivantes :

4. Il est possible de différencier les agrégations des

(contrainte d'inclusion plus forte) il suffit de doubloptions suivantes (By Value) pour les 2 Rôles A et

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh

Nom du stéréotype personnel pourles classes d'association n-aire

compositions. Pour définir une composition e cliquer sur un lien d'agrégation et définir les B:

Page 13 sur 23 Rational ROSE

Nous obtenons le diagramme de classes suivant :

Remarque : Si le nom du stéréotype n'apparaît pas, il est possible de l'afficher en utilisant le menu contextuel associé à la classe d'association (clic droit sur la classe d'association) et en choisissant l'option "Show stereotype"

4.1.3 Définition du diagramme des classes associé au paquetage Analyse des données Principe ♦ Création du paquetage (si ce n'est pas déjà) ♦ Création du diagramme de classes associé Remarque : Pour toute classe appartenant à différents paquetages, il suffit de les sélectionner dans le référentiel et de les déplacer dans l'espace de travail (Il ne faut surtout pas créer de nouvelles classes). Vous obtenez le schéma suivant :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 14 sur 23 Rational ROSE

4.2 CONSTRUCTION DU DIAGRAMME DE CLASSES GLOBAL La construction du Main de la vue logique va consister à définir la vue globale. Pour ce faire, il suffit de glisser-déposer les différentes classes dans la zone le représentant et les liens inter-classes apparaissent automatiquement. Nous obtenons le schéma suivant :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 15 sur 23 Rational ROSE

5 LES DIAGRAMMES DE SÉQUENCES ET LES DIAGRAMMES DE COLLABORATION -USE CASE VIEW-

Rappels de cours Diagramme de séquences : ♦ Représentation temporelle des interactions entre objets ♦ Représentation de l’activation de l’objet destinatire Diagramme de collaboration ♦ Représentation spatiale des interactions entre objets ♦ Extension du diagramme de classe

A chaque diagramme de séquences, est associé un diagramme de collaboration et inversement. Nous proposons de commencer par les diagrammes de séquences. Mais il aurait été également possible de commencer par la définition des diagrammes de collaboration.

5.1 LE DIAGRAMME DE SÉQUENCE ASSOCIÉ AU CAS ENREGISTREMENT D'UN PASSAGE

5.1.1 Création d'un diagramme de séquence Principe : ♦ Sélection le cas d'utilisation désiré dans la use case view du référentiel ♦ Clic droit + New + Sequence diagram ♦ Nommer ce diagramme de séquence

5.1.2 Objectif Le diagramme que nous voulons construire est le suivant :

:PASSAGEI_ENREGISTREMENTPASSAGE

:BOITIERS :PERSONNES

: ACCUEILLE

AccèsDemander(N°Boitier)

P_Rechercher(N°Carte)

PA_Ajouter(id(BOITIERS),id(PERSONNES))

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 16 sur 23 Rational ROSE

5.1.3 Composants d'un diagramme de séquence La création d’un diagramme de séquences s’effectue comme suit : ♦ Pour les acteurs et les classes existantes, il suffit de faire des "cliquer-déplacer" du référentiel

vers l’espace de travail (ne pas les créer à nouveau). ♦ Pour Créer de nouveaux objet dans le diagramme, il suffit de sélectionner l'icône Object dans la

barre d'outils et le placer dans l'espace de travail. Il faut double-cliquer pour le nommer. ♦ Pour créer un lien entre un acteur et un objet ou un lien inter-objets, il faut sélectionner dans la

boite de dialogue l’élément correspondant (object message) et relier les éléments concernés.

5.1.4 Génération automatique des opérations Une fois que le lien est créé, par un clic droit, vous obtenez deux options : ♦ Spécification pour définir le message associé au lien, ♦ New operation pour créer automatiquement une nouvelle opération dans la classe destination

du lien Nous vous recommandons d'utiliser l'option New Opération. Principe pour définir des opérations : 1. Sélection du lien + Clic droit + New operation pour obtenir la boite de dialogue suivante ;

♦ Avec l'onglet General, vous déterminez le nom de la méthode ♦ Avec l'onglet Détail, vous définissez les arguments, leurs types et leurs valeurs par défaut.

2. Une fois que cette nouvelle opération est créée, il suffit de l’associer au lien par un nouveau clic

droit et en la sélectionnant dans le nouveau menu contextuel. Automatiquement, les classes du diagramme des classes sont mises à jour.

Remarque : Si vous associez une opération et un message à un lien, seule l'opération est affichée.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 17 sur 23 Rational ROSE

Vous obtenez le diagramme de séquence suivant :

5.2 LES DIAGRAMMES DE COLLABORATION Pour créer le diagramme de collaboration correspondant à un diagramme de séquences déjà créé, il suffit d’aller dans le menu Browse puis option Create collaboration diagram. On obtient le diagramme suivant :

Remarque : Pour traduire les groupes d’objets : Double clic sur l’élément puis sélection de l’option Multiple Instances dans la boite de dialogue suivante :

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 18 sur 23 Rational ROSE

6 LES DIAGRAMME D’ÉTATS -LOGICAL VIEW- Ces diagrammes permettent de compléter la sémantique de l’objet ; ce modèle nous permet de connaître l’état de l’objet permettant le déclenchement d’une méthode. Limite du logiciel : pas de lien entre les méthodes du diagramme d'états et celle des diagrammes de classes et de séquences. Autrement dit, les méthodes présentes dans ces diagrammes ne sont pas automatiquement insérées dans le diagramme des classes. Le Diagramme d’états respecte la norme définie par UML.

6.1 PRINCIPES Dans UML, un diagramme d'états est associés à une classe. Aussi, avec ROSE, pour créer un diagramme d'états, il suffit de sélectionner la classe désirée + Clic Droit + State Charts. Pour la création des diagrammes d'état la barre d'outil suivant est affichée. Notamment, les 5 derniers boutons permettent de créer successivement : • les états intermédiaires, • les états initiaux, • les états finaux, • les transitions simples, • les transitions récursives. Pour définir les propriétés des transitions : sélection de la transition + clic droit +option spécification, pour ouvrir la boite de dialogue suivante, dans laquelle: ♦ L’onglet Général permet de spécifier

l’événement ♦ L’onglet Détail permet de spécifier les

conditions et les actions.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 19 sur 23 Rational ROSE

Pour les états, on obtient une boite de dialogue similaire : ♦ L’onglet Général permet de spécifier le nom de l’état de l’objet ♦ L’onglet Detail permet de spécifier les opérations réalisées lorsque l’objet est dans un état

particulier. Pour insérer une opération : clic droit/option Insert. Par défaut, le mot Entry apparaît. Un double clic sur ce mot permet d’ouvrir une nouvelle boîte de dialogue dans laquelle on doit définir le nom de l’opération ou de l’activité (zone Action) ainsi que son moment d’exécution (option When)

Nom de l’action ou de l’activité

Sur un événement (il faut préciser l’événement dans la cellule Event)

Faire

Entrée

Sortie

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 20 sur 23 Rational ROSE

6.2 RÉSULTATS

6.2.1 Diagramme d'état transitions de la classe BOITIERS

En attente

Mise en place / B_Ajouter()

Vert

Rouge

Temps[ Délai ]

Suppression / B_Supprimer()

Introduction carte[ Droits > NiveauB et dates de validité

correctes ] / AccèsDemander()

Introduction carte[ Droits < NiveauB ou Carte inconnue ] /

Accès demander()

Temps[ Délai ]

Ce nouveau schéma met en évidence qu'il faut ajouter les opérations B_Ajouter(), B_Supprimer dans la classe BOITIERS. L'opération AccésDemander() est déjà présente dans le schéma avec le diagramme de séquences. Pour ce faire, il faut sélectionner la classe BOITIERS dans le référentiel + clic droit + New + Operations.

6.2.2 Diagramme d'état transitions de la classe VISITEURS

Répertorié

En visite

1er accueil / V_Ajouter()

Temps[ > 1 an sans visite ]/ V_Supprimer()

Accueil / Accueillir()

Fin de visite[ Dates devalidité dépassées ]

Il faudra également ajouter les opérations V_Ajouter, Accueillir(), V_Supprimer() dans la classe VISITEURS.

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 21 sur 23 Rational ROSE

7 DIAGRAMME DE CLASSES COMPLET Après l'application de ces différents diagrammes, nous obtenons le diagramme de classes complet suivant :

8 IMPLANTATION – COMPONENT, DEPLOYEMENT VUES - L’implantation s’effectue autour de 2 vues • La vue des composants (Component vue) permet de spécifier l'architecture logicielle via le

diagramme de composants • La vue de déploiement (Deployement vue) permet de spécifier l'architecture matérielle via le

diagramme de déploiement

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 22 sur 23 Rational ROSE

ANNEXE : Exercice les contrôles d'accès Une entreprise vous confie la réalisation d’un logiciel permettant un contrôle automatique des accès aux bâtiments ainsi que la détection d’anomalies liées aux tentatives de violation d’accès. Au delà du filtrage des accès aux bâtiments sensibles, ce logiciel doit éditer un plan d’évacuation du personnel en cas d’incident grave (ouverture des portes en sortie uniquement, liste des personnes présentes dans chaque pièce, …). Le logiciel doit être installé sur le système informatique situé au poste de contrôle chargé de l’accueil et auquel est relié l’ensemble des boîtiers. Chaque boîtier est constitué d’un lecteur de carte et d’un voyant. Principes de fonctionnement des accès Tout employé possède une carte personnelle. Lorsqu’il se présente devant une porte sécurisée (en entrée ou en sortie d’un bâtiment ou d’une pièce), il introduit sa carte dans un lecteur situé à proximité de la porte. Grâce à un système de sas, une seule personne peut franchir une porte sécurisée. Chaque boîtier dispose d’un voyant lumineux qui prend la couleur verte (accès autorisé) ou rouge (accès interdit). Le logiciel a la charge de commander ces voyants et d’enregistrer tout accès ou tentative d’accès. Un passage est autorisé par un boîtier lorsque le niveau d’accès du boîtier est inférieur ou égal aux droits attachés à la personne demandant l’accès. Dans le cas où une anomalie est détectée (niveau d’accès insuffisant, carte inconnue) un message d’alerte mentionnant le nom du responsable du bâtiment est transmis au poste de contrôle. Cas particulier des visiteurs Toute personne extérieure à l’entreprise (visiteur) reçoit, au poste de contrôle de l’entreprise, une carte temporaire ayant les mêmes fonctions que les cartes des employés. Mais cette carte doit toujours être introduite dans un lecteur juste après celle de l’hôte ; elle est éditée par le logiciel et doit être restituée en fin de visite au poste de contrôle pour être détruite. Tout visiteur reste répertorié pendant 1 an après sa dernière visite. Les données manipulées Les entrées et les sorties des employés et des visiteurs doivent être enregistrées et accessibles pendant 15 jours ; elles sont ensuite archivées. Une étude d’opportunité de cette application, réalisée par une SSII l’an passé à la demande de la Direction, a permis d’élaborer une ébauche du dictionnaire des données. NOM INTITULE AdresseSoc Adresse de la société d’appartenance du visiteur Droits Nombre correspondant au niveau d’accès attaché à une personne IntituléSoc Raison sociale de la société d’appartenance du visiteur Matricule Matricule d’un employé N°Boitier N° de boîtier N°Carte N° d’une carte d’entrée N°Pièce N° de pièce d’identité d’un visiteur N°Porte N° porte N°Visiteur N° de visiteur NiveauB Nombre correspondant au niveau d’accès d’un boîtier NomPers Nom d’un détenteur de carte PrénomPers Prénom d’un détenteur de carte Responsable Identité du responsable d’un bâtiment Tél N° de poste téléphonique d’un employé Voyant Position du voyant

© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh Page 23 sur 23 Rational ROSE