NOTATION UML AVEC RATIONAL ROSE

Transcription

NOTATION UML AVEC RATIONAL ROSE
NOTATION UML AVEC
RATIONAL ROSE
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
Pour chaque cas d'utilisation
Différents diagrammes associés :
♦ Scénario (s)
Use Case View
♦ Diagramme (s) de séquence
♦ Diagramme(s) de collaboration
Main
Logical View
Pour chaque paquetage associé à un Diagramme de classes partiel
cas d'utilisation
Pour chaque classe
2
Diagramme de classes complet
Diagramme d'états
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 :
Système
Contrôleur porte
Enregistrement passage
Poste de contrôle
Boîtier d'accès
Analyse des données
Archivage des passages
Gestion des données
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 association
pour 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
Ouverture de la porte
Lecture d'une carte (Carte)
Accès interdit (InfoContrôle)
Allumage voyant rouge
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 :
CALENDRIER
DateHeure
BOITIERS
NoBoitier
E/S
NoPorte
NiveauB
PERSONNES
Nom
Prénom
N°Carte
1..*
PASSAGE
Voyant
1..1
ENTITES
ACCUEILLE
DateFin
EMPLOYES
Matricule
Tél
VISITEURS
NoVisiteur
NoPièce
CALENDRIER
DateHeure
BATIMENTS
Responsable
PIECES
0..1
1..*
0..*
Appartient
0..1
SOCIETES
Intitulé
Adresse
Paquetage Enregistrement
d'un passage
Paquetage Analyse des données
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 :
Nom du stéréotype personnel pour
les classes d'association n-aire
4. Il est possible de différencier les agrégations des compositions. Pour définir une composition
(contrainte d'inclusion plus forte) il suffit de double cliquer sur un lien d'agrégation et définir les
options suivantes (By Value) pour les 2 Rôles A et B:
© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh
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 :
I_ENREGISTREMENT
PASSAGE
:BOITIERS
:
PERSONNES
: ACCUEILLE
:PASSAGE
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é
Entrée
Sortie
Faire
Sur un événement
(il faut préciser
l’événement dans la
cellule Event)
© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh
Page 20 sur 23
Rational ROSE
6.2
6.2.1
RÉSULTATS
Diagramme d'état transitions de la classe BOITIERS
En attente
Introduction carte[ Droits >
NiveauB et dates de validité
correctes ] /
AccèsDemander()
Mise en place /
B_Ajouter()
Suppression /
B_Supprimer()
Vert
Temps[ Délai ]
Temps[ Délai ]
Introduction carte[ Droits <
NiveauB ou Carte inconnue ] /
Accès demander()
Rouge
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é
1er accueil / V_Ajouter()
Temps[ > 1 an sans visite ]
/ V_Supprimer()
Accueil / Accueillir()
Fin de visite[ Dates de
validité dépassées ]
En visite
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
AdresseSoc
Droits
IntituléSoc
Matricule
N°Boitier
N°Carte
N°Pièce
N°Porte
N°Visiteur
NiveauB
NomPers
PrénomPers
Responsable
Tél
Voyant
INTITULE
Adresse de la société d’appartenance du visiteur
Nombre correspondant au niveau d’accès attaché à une personne
Raison sociale de la société d’appartenance du visiteur
Matricule d’un employé
N° de boîtier
N° d’une carte d’entrée
N° de pièce d’identité d’un visiteur
N° porte
N° de visiteur
Nombre correspondant au niveau d’accès d’un boîtier
Nom d’un détenteur de carte
Prénom d’un détenteur de carte
Identité du responsable d’un bâtiment
N° de poste téléphonique d’un employé
Position du voyant
© G. Pujolle, F. Ravat, C. Soulé Dupuy, G. Zurfluh
Page 23 sur 23
Rational ROSE