Cours d'UML
Cours d'UML
Génie logiciel
1. Objectifs d’un processus de
développement
2. Activités de développement
(rappel)
3. Modèles de développement
1. Objectifs d’un processus de développement
Un processus définit :
QUI (fait quoi);
QUOI (le travail à faire),
QUAND (à quel moment )
et COMMENT ( la manière de le faire)
pour atteindre un certain objectif :
Modèle en cascade
3. Modèles de développement
(suite)
Modèle en V
3. Modèles de développement
(suite)
Modèle en spirale
II. Présentation d’UML
Le langage de modélisation unifié, de
l'anglais Unified Modeling Language
(UML), est un langage de modélisation
graphique à base de pictogrammes conçu
pour fournir une méthode normalisée pour
visualiser la conception d'un système. Il est
couramment utilisé en développement
logiciel et en conception orientée objet
UML permet donc de modéliser une application
selon une vision objet.
L’appréhension d’UML est complexe car UML
est à la fois :
• une norme,
• un langage de modélisation objet,
• un support de communication,
• un cadre méthodologique.
L’acceptabilité industrielle de la modélisation objet
passe d'abord par la disponibilité d'un langage
d'analyse objet performant et standard, les auteurs
d'UML préconisent d'utiliser une démarche :
• guidée par les besoins des utilisateurs du système,
• centrée sur l'architecture logicielle,
• itérative et incrémentale.
La genèse d’UML
démontre :
• la décomposition du système en
processus et actions ;
• les interactions entre les processus ;
• la synchronisation et la communication
des activités parallèles.
Vue des processus (3)
Le diagramme de
déploiement correspond à la
description de l’environnement
d’exécution du système (matériel,
réseau…) et de la façon dont les
composants y sont installés.
13.Le diagramme de déploiement
A. LES BESOINS DES UTILISATEURS
a. LE DIAGRAMME DE CAS
D'UTILISATION
Sommaire
1. Introduction
2. Acteur
3. Cas d’utilisation
4. Relation ou lien
5. Description textuelle du cas d’utilisation
UML permet de définir et de visualiser un modèle, à
l'aide de diagrammes.
Formalisme
Acteur
Un acteur est une « entité » externe au système qui
interagit avec le système. La notation UML de
l’acteur est soit le dessin « simplifié » d’un personnage
complété en dessous par un libellé soit le dessin d’un
rectangle contenant le libellé du nom de l’acteur en
dessous du libellé du stéréotype1 «« acteur» ».
La notation graphique que nous préférons est bien sûr
le dessin du personnage, plus facile à repérer dans un
diagramme
Une attention particulière doit être attachée au nommage
des acteurs. L’usage veut de choisir un substantif extrait
du cahier des charges, donc proposé par le client ou
l’utilisateur final. En effet, rappelons que les
diagrammes de cas d’utilisation sont une modélisation
directe du cahier des charges et servent au client pour
vérifier que l’analyste comprend le problème du client.
Il est donc important que l’équipe de développement
s’adapte au client et montre qu’elle s’adapte au domaine
applicatif, c’est-à-dire au métier du client.
Le cas d’utilisation
Cas d’utilisation
Relation ou lien
Use case
Lien ou relation
Nom acteur
Relation ou lien
La relation de généralisation :
Dans une relation de généralisation entre 2 cas
d’utilisation, le cas d’utilisation enfant est une
spécialisation du cas d’utilisation parent
• Comme pour les classes, le sous-cas d’utilisation hérite du
comportement du sur-cas d’utilisation. Le sous-cas d’utilisation hérite
aussi de toutes les associations du sur-cas (relations d’association avec
les acteurs, relations d’inclusions, et relations d’extensions).
• Quelquefois, le sur-cas d’utilisation est abstrait (c’est-à-dire qu’il ne
peut pas être instancié). Il correspond à un comportement partiel et
sert uniquement de base pour les sous-cas d’utilisation qui en
hériteront.
• La relation de généralisation est représentée par une flèche avec
une extrémité triangulaire.
• Le nom d’un cas d’utilisation abstrait est écrit en italique (ou
accompagné du stéréotype « abstract »).
Relation ou lien
Formalisme exemple
Cas d’utilisation
Virement bancaire
parent
Cas d’utilisation
enfant Virement par internet
Relation ou lien
Formalisme
Relation ou lien
La relation d’inclusion:
Elle indique que le cas d’utilisation source contient
aussi le comportement décrit dans le cas d’utilisation
destination. L’inclusion a un caractère obligatoire, la
source spécifiant à quel endroit le cas d’utilisation
cible doit être inclus. Cette relation permet ainsi de
décomposer des comportements et de définir des
comportements partageables entre plusieurs cas
d’utilisation
Relation ou lien
Formalisme : Reservation
S’authentifier
Relation ou lien
La relation d’extension :
Elle indique que le cas d’utilisation source ajoute son
comportement au cas d’utilisation destination.
L’extension peut être soumise à condition.
Le comportement ajouté est inséré au niveau d’un point
d’extension défini dans le cas d’utilisation destination.
Cette relation permet de modéliser les variantes de
comportement d’un cas d’utilisation (selon les
interactions des acteurs et l’environnement du système).
Relation ou lien
Formalisme
Partie 1 : Identification.
Titre : Nom du cas d’utilisation
Résumé : description du cas d’utilisation. –
Acteurs : descriptions des acteurs principaux et secondaires.
Dates : Date de création et date de mise à jour.
Responsable : Noms du ou des responsables.
Version : Numéro de la version.
Partie 2 : Description des scénarios.
Les pré-conditions : État du système avant que le cas
d’utilisation puisse être déclenché.
Les Scénarios (un scénario est une instance d’un cas
d’utilisation dans lequel tous les paramètres ont été fixés). Il
y a plusieurs types de scénarios :
o Le scénario nominal qui correspond à un déroulement normale d’un
cas d’utilisation.
o Les scénarios alternatifs qui sont des variantes du scénario normale.
o Les scénarios d’exceptions qui décrivent ce qui se passe lors d’une
erreur. - Les post-conditions : Elles décrivent l’état du système après
l’issue de chaque scénario.
• Partie 3 : Exigence non fonctionnelle.
La partie 3 peut être omise, mais si elle est
présente, elle permet de préciser des
spécifications non fonctionnelles (fréquence,
fiabilité, type d’interface homme-.machine...).
Exemple de description textuelle:
Le cas d‘utilisation ‘Retirer de l’argent’ du DAB
Partie 1 : Description.
Titre : Retirer de l’argent.
Résumé : Ce cas d’utilisation permet aux possesseurs de carte
bancaire de retire de l’argent.
Acteur principale : Un porteur de carte bancaire.
Acteurs secondaires : Le Système d’Information de la banque et le
Système d’Autorisation Globale Carte Bancaire.
Date : 11/03/2020
Responsable : Belespoir KOUALA
Version : 1.0
Partie 2 : Description des scénarios.
• Pré-conditions :
– Le DAB contient des billets.
– Les connexions avec le Système d’Autorisation et
le Système d’information de la banque sont
opérationnelles.
Partie 2 : Description des scénarios.
• Scénario nominale :
1. Le Porteur de carte introduit sa carte dans le DAB.
2. Le DAB vérifie que la carte introduite est bien une carte
bancaire.
3. Le DAB demande le code de la carte au Porteur de carte.
4. Le Porteur de carte saisit son code.
5. Le DAB compare ce code avec celui qui est codé sur la carte.
6. Le DAB demande une autorisation au Système Globale
d’autorisation
7. Le Système d’Autorisation globale donne son accord et
indique le crédit hebdomadaire.
8. Le DAB demande le montant désiré au Porteur de carte.
Partie 2 : Description des scénarios.
• Scénario nominale(suite) :
9. Le Porteur de carte saisit le montant.
10. Le DAB vérifie si le montant demandé est inférieur ou égale au
crédit hebdomadaire.
11. Le DAB rend la carte et demande au Porteur de carte de la retirer.
12. Le Porteur de carte reprend sa carte.
13. Le DAB demande au Porteur de carte s’il désire un ticket.
14. Le Porteur de carte accepte le ticket.
15. Le DAB délivre le ticket et les billets.
16. Le Porteur de carte prend les billets et le ticket.
Partie 2 : Description des scénarios.
• Scénarios alternatifs :
Scénario alternatif SA1: Le code est erroné
pour la première ou la deuxième fois.
SA1 commence au point 5 du scénario nominale.
Le DAB indique que le code est erroné.
Le DAB enregistre l’échec.
Le scénario reprend au point 3 du scénario nominal
Scénario alternatif SA2: Le montant demandé
est trop élevé.
SA2 commence au point 10 du scénario
nominale.
Le DAB affiche le montant max et demande au
Porteur de carte de ressaisir un montant.
Le scénario reprend au point 9 du scénario
nominal.
Scénario alternatif SA3: Le ticket est refusé.
SA1 commence au point 13 du scénario
nominale.
14) L’utilisateur refuse le ticket.
15) Le DAB délivre les billets.
16) L’utilisateur prend les billets.
Scénario alternatif SA4: Le porteur de carte est
client de la banque.
SA1 commence au point 7 du scénario nominale.
Le DAB demande une autorisation auprès du
Système d’Information de la banque.
Le scénario reprend au point 9 du scénario nominal.
• Scénarios d’exception:
Scénario d’exception SE1: Carte non valide.
SE1 commence au point 2 du scénario nominal.
Le DAB Indique que la carte n’est pas valide restitue
la carte et met fin au cas.
Scénario d’exception SE2: Le code est erroné
pour la troisième fois.
SE2 commence au point 5 du scénario nominal.
Le DAB Indique que le code est erroné pour la
troisième fois, confisque la carte et met fin au
cas.
Scénario d’exception SE3: Retrait non autorisé.
SE3 commence au point 6 du scénario nominal.
Le DAB Indique que tout retrait est impossible,
restitue la carte et met fin au cas.
Scénario d’exception SE4: Carte non reprise.
SE4 commence au point 11 du scénario nominal.
Au bout de 30s, le DAB confisque la carte et met
fin au cas.
Scénario d’exception SE5: Billets non pris.
SE5 commence au point 15 du scénario nominal.
Au bout de 30s, le DAB reprend les billets et
met fin au cas.
Scénario d’exception SE6: Annulation de la
transaction.
SE6 peut démarrer entre les points 4 et 9 du
scénario nominal.
Le DAB éjecte la carte et met fin au cas.
• Post-conditions:
Les détails de la transaction doivent être
enregistrés (montant, numéro carte, date…) aussi
bien en cas de succès que d’échec.
Partie 3 : Exigences non fonctionnelles