Vous êtes sur la page 1sur 37

Exemple de mise en

œuvre d’UML
Une application de contrôle
des accès d’un bâtiment

Exemple UML Pierre-


Pierre-Alain Muller 1
Description des besoins

„ Le bâtiment est divisé en quatre zones : deux


ailes de recherche, une aile de travaux
pratiques, une aile pour l’administration et un
corps central qui abrite les salles de cours et
les deux amphithéâtres. Le site accueille
environ 500 personnes tous les jours, en
majorité des étudiants, mais aussi des
enseignants, des chercheurs, du personnel
administratif et technique, ainsi que de
nombreux visiteurs.

Exemple UML Pierre-


Pierre-Alain Muller 2
Description des besoins

„ Suite à la disparition d’objets divers, il a été


décidé de restreindre les accès à certaines
salles, au moyen de portes à fermeture
automatique. L’ouverture de chacune de ces
portes est commandée par un lecteur de badges
placé à proximité. Les badges qui permettent
l’ouverture des portes ne sont délivrés qu’aux
personnes qui doivent accéder aux locaux
protégés dans l’exercice de leurs activités.

Exemple UML Pierre-


Pierre-Alain Muller 3
Description des besoins

„ Les droits d’accès sont alloués entre les


groupes de personnes et les groupes de
portes, de sorte qu’une personne ou une
porte doit toujours être au moins dans
un groupe (le sien). Un groupe de portes
peut contenir des portes dispersées dans
tout le bâtiment. Une porte donnée ne
peut appartenir qu’à un seul groupe de
portes.
Exemple UML Pierre-
Pierre-Alain Muller 4
Description des besoins
„ Un superviseur est responsable pour la
configuration initiale et pour la mise à jour des
différentes informations de définition des
groupes de personnes et de portes. Un gardien
dispose d’un écran de contrôle et est informé
des tentatives de passages infructueuses. Les
alarmes sont transmises en temps légèrement
différé : la mise à jour de l’information sur
l’écran de contrôle est effectuée toutes les
minutes.

Exemple UML Pierre-


Pierre-Alain Muller 5
Description des cas d’utilisation
„ Détermination des limites du système
„ Recherche des acteurs
• Superviseur
• Gardien
Superviseur
• Porteur
Porteur de
badge

Gardien

Exemple UML Pierre-


Pierre-Alain Muller 6
Description des cas d’utilisation

P orteur de badge
S upervis eur Contrôle d'ac c ès

Configurat io n < < Us es > >

< < Us es > >


Identific ation

S urveillanc e
Gardien

Exemple UML Pierre-


Pierre-Alain Muller 7
Etude de la configuration
„ Un cas d’utilisation est une abstraction
d’une partie du comportement du
système.
„ Décomposition en scénarios

Superviseur Configuration

Exemple UML Pierre-


Pierre-Alain Muller 8
Identification

: Système
: Superviseur

Login (mot de

Vérification

Autorisation

Exemple UML Pierre-


Pierre-Alain Muller 9
Modification des portes

: Système
: Superviseur
Modification d'une porte

Liste des portes

Choix d'une porte

Informations de la porte

Modification des informations


Information de la porte

Sauvegarde des informations

Exemple UML Pierre-


Pierre-Alain Muller 10
Modification des personnes

: Système
: Superviseur
Modification d'une personne

Liste des personnes

Choix d'une personne

Informations de la personne

Modification des informations

Informations de la personne

Sauvegarde des informations

Exemple UML Pierre-


Pierre-Alain Muller 11
Cas d’utilisation et scénarios principaux
„ Configuration
• Identification
• Modification des portes
• Modification des personnes
• Modification des groupes de personnes
• Modification des groupes de portes
• Recherche d’une personne en fonction d’un
badge
• Recherche des portes franchissables par une
personne donnée

Exemple UML Pierre-


Pierre-Alain Muller 12
Cas d’utilisation et scénarios principaux

„ Configuration
• Recherche des groupes qui contiennent une
personne donnée
• Recherche des personnes qui appartiennent à
un groupe donné
• Modification des accès d’un groupe de
personnes à un groupe de portes
• Modification d’une semaine type
• Affichage des droits d’accès d’une personne
pour une porte donnée
Exemple UML Pierre-
Pierre-Alain Muller 13
Cas d’utilisation et scénarios principaux
„ Surveillance
• Identification
• Rapport des événements
• Purge des événements
• Détection des alarmes
• Ouverture manuelle des portes
• Incendie
„ Contrôle d’accès
• Autorisation de passage

Exemple UML Pierre-


Pierre-Alain Muller 14
Réalisation des cas d’utilisation par
des collaborations

Exemple UML Pierre-


Pierre-Alain Muller 15
Différentes sortes de classes
„ <<dispositif>> <<contrôleur>>
„ <<interface>> <<vue>>
„ <<substitut>>
Utilisateur

Système

<<Vue>> <<Substitut>>
I_Personne Personne
1 *

Exemple UML Pierre-


Pierre-Alain Muller 16
Place de l’utilisateur
2: LireMotDePasse
1: LireNom

: Login
: Superviseur

3: Vérifier (MotDePasse)

Superviseur : Personne

Exemple UML Pierre-


Pierre-Alain Muller 17
Matérialisation des classes d’IHM
: F_Login 4: Cacher ( )
2: Lire (Nom, MotDePasse)
1: Afficher ( )

: Login

: F_Configuration
5: Afficher ( )

3: Correct ? ( MotDePasse)

Superviseur : Personne

Exemple UML Pierre-


Pierre-Alain Muller 18
Diagramme de classes préliminaire
F_Login Login
1

F_Configuration Personne

Exemple UML Pierre-


Pierre-Alain Muller 19
Comportement des objets login
Login

Lecture nom
entry: Invite nom

Nom lu
Nom ou
Lecture mot de passe mot de
passe
entry: Invite mot de passe incorrect

Mot de passe lu

Vérification

Nom et mot de passe OK

Connexion

Exemple UML Pierre-


Pierre-Alain Muller 20
Hiérarchie des classes d’IHM

Fenêtre
Afficher( )
Cacher( )

F_Login F_Configuration
...
Exemple UML Pierre-
Pierre-Alain Muller 21
Modification d’une seule porte
4: Afficher (Porte sélectionnée)
: F_Configuration
: F_Porte

1: Afficher ( )
2: Sélection ( ) 5: Image ( )
3: Cacher ( ) 6: Valeur ( )

: L_Portes : Porte

Exemple UML Pierre-


Pierre-Alain Muller 22
Modification d’un groupe de portes
4: Afficher (Porte sélectionnée)
: F_Configuration
: F_GroupeDePortes

1: Afficher ( )
2: Sélection ( ) 5: Image ( )
3: Cacher ( ) 6: Valeur ( )

: L_GroupeDePortes : GroupeDePortes

Exemple UML Pierre-


Pierre-Alain Muller 23
Modification des accès
4: Afficher ( )
5: Accès ( )
: F_Configuration : F_GroupeDePersonnes

1: Afficher ( ) Résultat 2
2: Sélection ( )
3: Cacher ( ) 6: Afficher ( ) : GroupeDePersonnes
: L_GroupeDePersonnes
9: Afficher ( ) : F_Accès

7: Image ( )
8: Valeur ( )
: F_Calendrier
: Accès

: GroupeDePersonnes 10: Image ( )


11: Valeur ( )
: GroupeDePortes
: Calendrier

Exemple UML Pierre-


Pierre-Alain Muller 24
Ouverture des portes en cas
d’incendie
: F_Surveillance : Porte

Pour toute les portes


Ouvrir ( )

fin

Exemple UML Pierre-


Pierre-Alain Muller 25
Diagramme des classes
Lecteur de badge
Adresse
Anti-retour Porte
Site Numéro de porte
Temporisation 1 1 Numéro de salle
Type d'événements
Veille *

1
1
0..4000 GroupeDePortes
Badge Nom
Validité *
Numéro de site
Numéro de badge Accès
Calendrier
1

*
1 *
Personne * *
GroupeDePersonnes
Prénom Semaine type
Nom * * Nom

Exemple UML Pierre-


Pierre-Alain Muller 26
Analyse de l’existant
Lecteur de badge
Horloge Adresse ToutOuRien
Anti-retour
1 1 Site 1 1
Temporisation
Plage horaire Type d'événements Evénement
8 1 Veille 1 0..100

0..4000
Badge

Exemple UML Pierre-


Pierre-Alain Muller 27
Plages horaires
SousPlage
PlageHoraire
Début
3 Fin

Jour

1
Droit

Exemple UML Pierre-


Pierre-Alain Muller 28
Hiérarchie des événements
Evénement

Anomalie Normal

Coupure secteur Carte refusée Carte acceptée

Anti-retour Hors plage Lecteur en veille Mauvais site Non programmée

Exemple UML Pierre-


Pierre-Alain Muller 29
Types de messages
Message

Simple Fixe Variable

Exemple UML Pierre-


Pierre-Alain Muller 30
Les messages simples
Message

Simple

Synchronisation Requête Commande simple

Exemple UML Pierre-


Pierre-Alain Muller 31
Les requêtes
Requête

Req_Evénements Req_Paramètres Req_Horloge

Req_CartesValides Req_CartesInvalides Req_CodeSite

Exemple UML Pierre-


Pierre-Alain Muller 32
Architecture logicielle

Lecteur de badge
<<Acteur>>
Superviseur

Porteur de
badge
Gardien

Exemple UML Pierre-


Pierre-Alain Muller 33
Architecture logicielle (suite)

Lecteur de badge
Superviseur
<<Acteur>>
Configuration

Identification Contrôle d'accès Porteur de badge

Surveillance

Gardien

Exemple UML Pierre-


Pierre-Alain Muller 34
Architecture logicielle (suite)
IHM

Domaine Utilitaires

global

Persistance Lecteur Machine


physique virtuelle

Exemple UML Pierre-


Pierre-Alain Muller 35
Architecture matérielle
PC PC
superviseur 1 gardien

{1} {1}
1
<<RS422>> <<RS422>>
1
Lecteur de 1
Précédent badges
1
{64}
1 Suivant
<<RS422>>
Exemple UML Pierre-
Pierre-Alain Muller 36
Réalisation
„ Génération du schéma de la base de
données à partir des classes
persistantes
„ Génération des écrans par un
constructeur d’interfaces graphiques
„ Réalisation manuelle des interactions à
partir des diagrammes de collaboration

Exemple UML Pierre-


Pierre-Alain Muller 37