Partie 2 : Modélisation avec UML Modélisation avec UML

Transcription

Partie 2 : Modélisation avec UML Modélisation avec UML
Partie 2 : Modélisation avec UML
Samira SI-SAID CHERFI
44
Modélisation avec UML
• Comment modéliser avec UML ?
• UML est un langage qui permet de représenter des
modèles, mais il ne définit pas le processus d'élaboration
des modèles !
• Cependant, dans le cadre de la modélisation d'une application
informatique, les auteurs d'UML préconisent d'utiliser une
démarche :
• itérative et incrémentale,
• guidée par les besoins des utilisateurs du système,
• centrée sur l'architecture logicielle.
• D'après les auteurs d'UML, un processus de développement qui
possède ces qualités devrait favoriser la réussite d'un projet.
Samira SI-SAID CHERFI
45
1
Modélisation avec UML
Une démarche itérative et incrémentale ?
• L'idée est simple : pour modéliser (comprendre et représenter)
un système complexe, il vaut mieux s'y prendre en plusieurs
fois, en affinant son analyse par étapes.
• Cette démarche devrait aussi s'appliquer au cycle de
développement dans son ensemble, en favorisant le
prototypage.
• Le but est de mieux maîtriser la part d'inconnu et d'incertitude
qui caractérisent les systèmes complexes.
Samira SI-SAID CHERFI
46
Modélisation avec UML
• Une démarche pilotée par les besoins des utilisateurs ?
• Avec UML, ce sont les utilisateurs qui guident la définition
des modèles :
• Le périmètre du système à modéliser est défini par les besoins
des utilisateurs (les utilisateurs définissent ce que doit être le
système).
• Le but du système à modéliser est de répondre aux besoins de
ses utilisateurs (les utilisateurs sont les clients du système).
• Les besoins des utilisateurs servent aussi de fil
conducteur, tout au long du cycle de développement
(itératif et incrémental) :
• A chaque itération de la phase d'analyse, on clarifie, affine et
valide les besoins des utilisateurs.
• A chaque itération de la phase de conception et de réalisation,
on veille à la prise en compte
des besoins des utilisateurs.
Samira SI-SAID CHERFI
47
• A chaque itération de la phase de test, on vérifie que les
besoins des utilisateurs sont satisfaits
2
Modélisation avec UML
• Une démarche centrée sur l'architecture ?
• Une architecture adaptée est la clé de voûte du succès d'un
développement.
Elle décrit des choix stratégiques qui déterminent en grande
partie les qualités du logiciel (adaptabilité, performances,
fiabilité...).
• Ph. Kruchten propose différentes perspectives,
indépendantes et complémentaires, qui permettent de
définir un modèle d'architecture (publication IEEE, 1995).
Cette vue ("4+1") a fortement inspiré UML :
Vue
Vuelogique
logique
Vue
Vuedes
descomposants
composants
Besoin
Besoindes
des
utilisateurs
utilisateurs
Vue
Vue de déploiement
Vuedes
desprocessus
processus
Samira SI-SAID CHERFIVue de déploiement
48
Modélisation avec UML
• La vue logique
• Cette vue de haut niveau se concentre sur l'abstraction et
l'encapsulation, elle modélise les éléments et mécanismes
principaux du système.
• Elle identifie les éléments du domaine, ainsi que les relations et
interactions entre ces éléments :
• les éléments du domaine sont liés au(x) métier(s) de
l'entreprise,
• ils sont indispensables à la mission du système,
• ils gagnent à être réutilisés (ils représentent un savoir-faire).
• Cette vue organise aussi (selon des critères purement
logiques), les éléments du domaine en "catégories" :
• pour répartir les tâches dans les équipes,
• regrouper ce qui peut être générique,
• isoler ce qui est propre à une version donnée, etc...
Samira SI-SAID CHERFI
49
3
Modélisation avec UML
• La vue des composants
Cette vue de bas niveau (aussi appelée "vue de réalisation"),
montre :
• L'allocation des éléments de modélisation dans des modules
(fichiers sources, bibliothèques dynamiques, bases de données,
exécutables, etc...).
• En d'autres termes, cette vue identifie les modules qui réalisent
(physiquement) les classes de la vue logique.
• L'organisation des composants, c'est-à-dire la distribution du
code en gestion de configuration, les dépendances entre les
composants...
• Les contraintes de développement (bibliothèques externes...).
• La vue des composants montre aussi l'organisation des
modules en "sous-systèmes", les interfaces des soussystèmes et leurs dépendances (avec d'autres sous-systèmes
Samira SI-SAID CHERFI
50
ou modules).
Modélisation avec UML
• La vue des processus
Cette vue est très importante dans les
environnements multitâches ; elle montre :
• La décomposition du système en terme de processus
(tâches).
• Les interactions entre les processus (leur
communication).
• La synchronisation et la communication des activités
parallèles (threads).
Samira SI-SAID CHERFI
51
4
Modélisation avec UML
• La vue de déploiement
Cette vue très importante dans les environnements
distribués, décrit les ressources matérielles et la
répartition du logiciel dans ces ressources :
• La disposition et nature physique des matériels, ainsi
que leurs performances.
• L'implantation des modules principaux sur les noeuds
du réseau.
• Les exigences en terme de performances (temps de
réponse, tolérance aux fautes et pannes...)
Samira SI-SAID CHERFI
52
Modélisation avec UML
• La vue des besoins des utilisateurs
Cette vue (dont le nom exact est "vue des cas d'utilisation"),
guide toutes les autres.
• Dessiner le plan (l'architecture) d'un système informatique n'est
pas suffisant, il faut le justifier !
• Cette vue définit les besoins des clients du système et centre la
définition de l'architecture du système sur la satisfaction (la
réalisation) de ces besoins.
• A l'aide de scénarios et de cas d'utilisation, cette vue conduit à
la définition d'un modèle d'architecture pertinent et cohérent.
• Cette vue est la "colle" qui unifie les quatre autres vues de
l'architecture.
• Elle motive les choix, permet d'identifier les interfaces critiques
et force à se concentrer
surSI-SAID
les problèmes
importants.
Samira
CHERFI
53
5
Processus de développement
Comprendre
Comprendreleleproblème
problème
en
enterme
termede
demétier
métierdu
duclient
client
Analyse
Concevoir
Concevoirune
unesolution
solutioninformatique
informatique
en
terme
de
responsabilité
en terme de responsabilitéfonctionnelle
fonctionnelle
Conception
Implémentation
Réaliser
Réaliserlalasolution
solutionen
enterme
terme
de
deprogramme
programme
Samira SI-SAID CHERFI
54
Étapes du processus de développement et
modèles
Capture des besoins : Modèle des cas d’utilisation - décrit les
besoins de l’utilisateur.
Analyse : Modèle d’analyse - définit la structure statique et le
comportement dynamique des objets.
Conception :
• Modèle de conception - définit la structure statique du système en
termes de sous-systèmes, de classes et d'interfaces et les collaborations
entre les sous-systèmes, les classes et les interfaces.
• Modèle de déploiement - définit la disposition physique des différents
matériels.
Implémentation : Modèle de réalisation - définit les composants de
réalisation et le passage des classes vers ces composants.
Test : Modèle de test - décrit les scénarios de test.
Samira SI-SAID CHERFI
55
6
Digrammes d'UML
Diagramme
Composants
Déploiement
Classes
Séquence
Activité
Cas d’utilisation États -Transitions
Samira SI-SAID CHERFI
Objets
Collaboration
56
Digrammes d'UML
Capture des besoins :
• Diagramme de cas d’utilisation: fonctions du système du point de vue de
l’utilisateur
Analyse :
• Diagramme de classes: structure statique en termes de classes et de relations
• Diagramme de séquence: représentation temporelle des objets et de leurs
interactions
• Diagramme de collaboration: représentation spatiale des objets, des liens et des
interactions
• Diagramme d’objets : Objets et leurs relations. Diagrammes de collaboration
simplifiés, sans représentation des envois de message
• Diagramme d’états-transitions: comportement d’une classe en terme d’états
(Statecharts) [Harel, D. 1987. Statecharts: A Visual Formalism for Complex Systems.
Science of Computer Programming vol. 8. ]
• Diagramme d’activités: comportement
d’une opération en termes d’actions
Samira SI-SAID CHERFI
57
7
Digrammes d'UML
Conception :
• Diagramme de déploiement: déploiement des
composants sur les dispositifs matériels
• Diagrammes de composants: composants
physiques d’une application
Samira SI-SAID CHERFI
58
La capture des besoins:
l’acquisition
• Un SI doit répondre aux besoins des
utilisateurs. Leurs capture nécessite:
– L’étude du système existant
– L’acquisition des nouveaux besoins
• Fonctionnels : fonctionnalités du futur système
• Non fonctionnels: performances, sécurité etc.
• D’utilisation: critères d’acceptation par les
utilisateurs, facteurs situationnels etc.
– L’utilisation de techniques d’acquisition:
• Analyser la documentation existante, interviews,
observation des utilisateurs, questionnaires etc.
Samira SI-SAID CHERFI
59
8
La capture des besoins: la
spécification
• UML propose les diagrammes de cas
d’utilisation pour modéliser et documenter les
besoins
– Un cas d’utilisation n’est pas un besoins mais une
fonctionnalité du système devant répondre à un
besoin
– Les diagrammes de cas d’utilisation ne permettent
pas la spécification des besoins non-fonctionnels
– Il est nécessaire d’établir une liste des besoins nonfonctionnels pour compléter la spécification des
besoins.
Samira SI-SAID CHERFI
60
Diagramme de cas d’utilisation
• Formalisés par Ivar Jacobson.
• Décrivent sous la forme d'actions et de réactions,
le comportement d'un système du point de vue de
l'utilisateur.
• Définissent les limites du système et les relations
entre le système et l'environnement.
• Manière spécifique d'utiliser un système. C'est
l'image d'une fonctionnalité du système,
déclenchée en réponse à la stimulation d'un acteur
externe.
Samira SI-SAID CHERFI
61
9
Intérêt des diagrammes de cas
d'utilisation
• La détermination et la compréhension des besoins sont difficiles.
• Les cas d'utilisation recentrent l'expression des besoins sur les
utilisateurs: un système est avant tout construit pour ses
utilisateurs.
• On structure la démarche par rapport aux interactions d'une seule
catégorie d'utilisateurs à la fois; réduit la complexité de la
détermination des besoins.
• Le formalisme des cas d'utilisation - basé sur le langage naturelest accessible sans formation particulière des utilisateurs.
• Les cas d'utilisation permettent aux utilisateurs de structurer et
d'articuler leurs besoins.
• Ils concrétisent le futur système dans une formalisation visuelle
proche de l'utilisateur.
Samira SI-SAID CHERFI
62
Exemple de besoins
• Gestion des malades dans un cabinet médical
. – Un médecin doit pouvoir
• Créer des dossiers médicaux de patients, les modifier, les
consulter et les supprimer
• Créer des ordonnances, les modifier, les imprimer et les supprimer
• Créer et modifier des instructions à l’attention du secrétariat
• Créer et modifier les informations sur le patient (informations non
médicales)
– Un secrétaire doit pouvoir
• Créer et modifier les informations sur le patient (informations non
médicales)
• Éditer une feuille de soin
• Imprimer un récépissé lors de l’encaissement d’un paiement
• Etc.
Samira SI-SAID CHERFI
63
10
Diagrammes de cas d'utilisation :
les concepts
• Il comprend les acteurs, le système et les cas d'utilisation euxmêmes.
• Les acteurs se représentent sous la forme de petits personnages
qui déclenchent des cas d'utilisation; ces derniers sont
représentés par des ellipses contenues par le système.
Frontière du système
Cas d'utilisation X
Acteur A
Cas d'utilisation Y
Acteur B
Samira SI-SAID CHERFI
64
Diagrammes de cas d'utilisation :l'acteur
• Un acteur représente tout ce qui est externe au système, humain on
non, qui interagit avec le système et qui correspond à une catégorie
d'utilisateurs (plus précisément à un rôle).
• Les acteurs se déterminent en observant les utilisateurs directs du
système, ainsi que les autres systèmes qui interagissent avec le
système en question.
• La même personne physique peut jouer le rôle de plusieurs acteurs
(vendeur, client). Plusieurs personnes peuvent jouer le même rôle, et
donc agir comme le même acteur (tous les clients). Le nom de
l'acteur décrit le rôle joué par l'acteur.
réapprovisionnement
Gérant
Inventaire
Traitement
factures
Samira SI-SAID CHERFI
Comptable
65
11
Diagrammes de cas d'utilisation :
l'acteur
• Dans le cas du cabinet médical, nous avons deux
acteurs:
– Le médecin
– Le secrétaire
Secrétaire
Médecin
Samira SI-SAID CHERFI
66
Diagrammes de cas d'utilisation :
les cas d’utilisation
• Un cas d’utilisation
– Est représenté graphiquement par une ellipse
avec le nom du cas en dessous
– Décrit une séquence d’action effectuée par le
système pour livrer un résulat à l’acteur
Médecin
Créer dossier
Samira SI-SAID CHERFI
67
12
Diagrammes de cas d'utilisation :
les cas d’utilisation
• Les cas d'utilisation se déterminent en
observant et en précisant, acteur par acteur,
les séquences d'interaction - les scénarios du point de vue de l'utilisateur.
• La participation de l'acteur est signalée par
un lien de communication entre l'acteur et le
cas d'utilisation. Ce lien peut être orienté
pour indiquer l'initiateur de l'interaction.
Samira SI-SAID CHERFI
68
Diagrammes de cas d'utilisation :
Les cas d'utilisation
• Les cas d'utilisation doivent être vus comme des
classes dont les instances sont les scénarios.
Chaque fois qu'un acteur interagit avec le système,
la cas d'utilisation instancie un scénario; ce
scénario correspond au flot de messages échangés
par les objets durant l'interaction particulière qui
correspond au scénario.
• Les cas d'utilisation servent de fil conducteur pour
l'ensemble du projet.
Samira SI-SAID CHERFI
69
13
Le modèle de cas d'utilisation
• Le modèle de cas d'utilisation
– comprend une collection de cas d'utilisation
– Caractérise le comportement de l'ensemble du système
et des acteurs externes (dans leur interaction).
Créer dossier
Créer infos patient
Secrétaire
Consulter dossier
Samira SI-SAID CHERFI
Médecin
70
Raffinement des cas d'utilisation
• Relations entre cas d’utilisation
– Deux relations Extend et Include entre les cas
d’utilisation
– Apparaissent comme des relations stéréotypées
– Les stéréotypes sont écrits sous forme de texte
entre guillemets: «extend» et «include»
Samira SI-SAID CHERFI
71
14
Raffinement des cas d'utilisation :
la relation « include"
• Une relation d’inclusion entre cas d'utilisation signifie que
toute instance du cas d'utilisation source comprend
nécessairement le comportement décrit dans le cas
d'utilisation destination.
• Quand l'utiliser:
– lorsqu'un ensemble d'actions peut être utilisé dans
plusieurs cas d'utilisation et que l'on ne souhaite pas
répéter cet ensemble,
– Un tel ensemble est alors décrit dans un cas d'utilisation
séparé et est lié au cas d'utilisation qui l'utilise par un
lien « include »
– L'avantage d'une telle démarche est la réutilisation
Samira SI-SAID CHERFI
72
Raffinement des cas d'utilisation :
la relation « include »
Exemple du cabinet médical
Créer infos patient
« include »
Éditer infos patient
« include »
Secrétaire
Modifier infos patient
Samira SI-SAID CHERFI
73
15
Raffinement des cas d'utilisation :
la relation « extend »
• Une relation d'extension entre cas d'utilisation signifie
que le cas d'utilisation source étend le comportement du
cas d'utilisation destination.
• Quand l'utiliser:
– lorsqu'un cas d'utilisation est similaire à un autre cas d'utilisation à
l'exception d'une petite variation,
– une telle variation est décrite dans un cas d'utilisation à part,
– Les deux cas d'utilisation sont ensuite liés par une relation d'extension.
• Les points d’extension montrent à quel moment survient
l’extension
• une condition peut être rajoutée à la relation d’extension
pour la préciser.
Samira SI-SAID CHERFI
74
Raffinement des cas d'utilisation :
la relation « extend »
Créer ordonnance
Points d’extension
Vérifier antécédents: le
système affiche le dossier
«extend»
Le médecin souhaite
vérifier les antécédents
Médecin
Consulter
dossier
Samira SI-SAID CHERFI
75
16
Diagrammes de cas d'utilisation :
Les cas d'utilisation
•Un cas d'utilisation :
– est un ensemble complet d'actions (avec des événements de début
et de fin, les acteurs impliqués dans les actions, et les objets
utilisées dans les actions) et de règles qui régissent l'enchaînement
des actions.
– Il définit les interactions entre le système et l'acteur
– inclut le déroulement normal et tous les déroulements alternatifs.
•Un scénario :
– est un déroulement spécifique des événements, ce déroulement
dépend des événements à l'origine et à l'issue de chaque action
spécifié dans le cas d'utilisation et dont dépend l'enchaînement des
actions.
– Il est possible de dériver plusieurs scénario à partir d'un cas
d'utilisation. Il suffit pour cela que l'enchaînement des actions ne
soit une simple séquence.Samira SI-SAID CHERFI
76
Description des cas d'utilisation
• La description peut être sous une forme
textuelle simple et peu structurée.
• Exemple
– « le médecin cherche le patient dans la liste des
patients. Si celui-ci n’existe pas il le crée, sinon
il crée son dossier. Le médecin introduit les
informations sur les antécédents du patient, ses
allergies, la liste des substances auxquelles il
est allergique, la liste des traitements qu’il suit
et la durée de ces traitements etc. »
Samira SI-SAID CHERFI
77
17
Description des cas d'utilisation
• Elle peut également être décomposée en précisant les
interactions entre le système et l’acteur en distinguant le
déroulement de base des déroulements alternatifs
Créer ordonnance
Acteur
Réponse du systeme
1- Le médecin demande à créer 2- Le système lui demande de choisir un
patient
une ordonnance
4- Le système édite une ordonnance
3- Le médecin choisi le patient
vierge
souhaité
6- le système demande à saisir les doses
5- le médecin sélectionne un
et la fréquence des prises
médicament dans une liste
…
…
Déroulement alternatif 5-6
- Le médecin entre le nom du
médicament ainsi que les doses
et les fréquences des prises Samira SI-SAID CHERFI
78
Description des cas d'utilisation
• La description d'un cas d'utilisation comprend les éléments
suivants:
–
–
–
–
le début :"Le cas d'utilisation débute quand X se produit.";
la fin:"Quand X se produit, le cas d'utilisation est terminé.";
l'interaction entre le cas d'utilisation et les acteurs;
les échanges d'informations: par exemple, "L'utilisateur se
connecte au système et donne son nom et son mot de passe.";
– La chronologie et l'origine des informations;
– Les répétitions de comportement qui peuvent être décrites au
moyen de pseudo-code, avec des constructions du type:
boucle
-- quelque chose
fin de boucle
ou
Samira SI-SAID CHERFI
Tant que
-- autre chose
fin tant que
79
18
Règles de mise en œuvre des cas
d'utilisation
• Un cas d'utilisation décrit une fonctionnalité ou
une motivation et aussi une interaction entre un
acteur et un système sous la forme d'un flot
d'évènements.
• La description de l'interaction se concentre sur ce
qui doit être fait.
• Un cas d'utilisation doit être simple.
• Il ne faut pas mélanger les cas d'utilisation.
• Un cas d'utilisation doit éviter d'employer des
expressions floues et imprécises.
Samira SI-SAID CHERFI
80
Règles de mise en œuvre des cas
d'utilisation
• les situations optionnelles: "L'acteur choisit l'un des
éléments suivants, éventuellement plusieurs fois de suite:
a) choix X, b) choix Y, c) choix Z
puis l'acteur continue en...";
• Il est également primordial de trouver le bon niveau
d'abstraction.
• Les réponses apportées aux deux interrogations suivantes
peuvent servir de gabarit:
– est-il possible d'exécuter une activité donnée indépendamment des
autres, ou faut-il toujours l'enchaîner avec une autre activité?
– Est-il judicieux de regrouper certaines activités en vue de les
documenter, de les tester
ou de les modifier?
Samira SI-SAID CHERFI
81
19
Construction des cas d'utilisation
• En règle générale, il n'y a qu'un seul acteur par cas
d'utilisation.
• Lors de la construction, il faut se demander:
– Quelles sont les tâches de l'acteur ?
– Quelles informations l'acteur doit-il créer, sauvegarder, modifier,
détruire ou simplement lire ?
– L'acteur devra-t-il informer le système des changements externes ?
– Le système devra- t-il informer l'acteur des conditions internes ?
• Cas d'utilisation peuvent :
– être présentés aux travers de vues multiples.
– être groupés selon leurs séquences de déclenchement types ou en
fonction des différents points de vue.
Samira SI-SAID CHERFI
82
Processus d'élaboration des cas
d'utilisation
• Définir un guide de style pour la rédaction.
• Définir grossièrement les cas d'utilisation.
• Approfondir la compréhension et la description d'un cas d'utilisation
particulier. Identifier les scénarios.
• Un scénario est un chemin particulier au travers de la description
abstraite et générale fournie par le cas d'utilisation.
Scénario 3
Scénario 1
Scénario 2
Cas
d'utilisation
Samira SI-SAID CHERFI
83
20
Résumé
Dans ce cours nous avons vu:
• L’objectif des diagrammes de cas
d’utilisation
• La notation des des diagrammes de cas
d’utilisation
• Comment les dessiner
• Comment les décrire
• Comment les construire.
Samira SI-SAID CHERFI
84
Autre exemple
• Machine à recycler
La machine doit :
reçu
•recevoir et vérifier les objets introduits par les
utilisateurs,
•imprimer et sortir un reçu pour les objets
introduits,
•imprimer la liste de tous les objets reçus pour
l'opérateur,
•mettre à jour les données du système,
•declenche un signal d'alarme en cas de problème.
Samira SI-SAID CHERFI
85
21
Le modèle de cas d'utilisation
• Le modèle de cas d'utilisation
– comprend une collection de cas d'utilisation
– Caractérise le comportement de l'ensemble du système
et des acteurs externes (dans leur interaction).
Ramener objets
Usager
Éditer rapport
Changer informations objet
Opérateur
Samira SI-SAID CHERFI
86
Description des cas d'utilisation
• Exemple de « ramener objets »
– "ramener des objets est initié par l'usager qui introduit
des boites de conserves, …. A chaque objet introduit, le
système incrémente le nombre d'objets de ce type
d'objets introduits par l'usager d'une part et le total
introduit dans la machine durant la journée. Lorsque
l'usager a finit, il doit appuyer sur un bouton pour
imprimer un reçu. Dans le cas ou un objet introduit n'est
pas prévu par la machine, le système doit l'éjecter. De
même, si un objet provoque un blocage le système
déclenche le traitement du blocage …"
Samira SI-SAID CHERFI
87
22
Raffinement des cas d'utilisation :
la relation « include »
Exemple de la machine à recycler
Ramener objets
Récupérer objets
« include »
« include »
Éditer informations
Usager
Changer informations objet
Opérateur
Samira SI-SAID CHERFI
88
Raffinement des cas d'utilisation :
la relation « extend »
Ramener objets
Éditer rapport
« extend »
Usager
Traiter blocage
Opérateur
Changer informations objet
Samira SI-SAID CHERFI
89
23
Exemple
Samira SI-SAID CHERFI
90
Application de la notation UML
• Une école d'ingénieurs souhaite informatiser son
système d'inscriptions.
– Le secrétaire général établit le programme du semestre. Pour un
module il peut y avoir plusieurs cours.
– Les étudiants doivent choisir 4 cours obligatoires et 2 optionnels
– Dès qu'un étudiant est inscrit, le service des paiements en est
informé pour qu'il puisse convoquer l'étudiant pour le paiement des
droits d'inscription.
– L'étudiant dispose d'un délai d'un mois pour modifier son choix de
modules. Il peut ainsi , pendant cette période, supprimer / ajouter
des cours en se connectant directement au système.
– Les enseignants utilisent également le système pour consulter leur
emploi du temps
– Les utilisateur du système d'inscription se voient affectés des mots
de passes leur permettant
de valider
leurs connexions.
Samira SI-SAID
CHERFI
91
24
1- Identifier les acteurs
• Un acteur est tout ce qui peut interagir avec
le système en cours de développement.
Secrétaire général
Étudiant
Enseignant
Services des paiements
Samira SI-SAID CHERFI
92
2- Identifier les cas d'utilisation
• Un cas d'utilisation renferme un modèle de comportement
que le système manifeste
– Chaque cas d'utilisation est un ensemble de transactions pouvant
être impliquées lors d'un dialogue entre un acteur et le système.
• Il faut examiner les acteurs pour identifier leurs besoins :
–
–
–
–
Secrétaire général : établit et met à jour le programme de l'école
Enseignant : consulte les emplois du temps
Étudiant : inscription
Service des paiements : reçoit les informations de paiement de
l'inscription.
Mise à jour programme
Inscription
Samira SI-SAID CHERFI
Consulter emploi du temps
93
25
3- Documenter les cas d'utilisation
• Créer un flux d'événements pour chacun des cas
d'utilisation
– Ils sont écrit en adoptant la vue de l'acteur
• Détailler la réaction du système lors de l'exécution
du cas d'utilisation
• Exemples de contenus
–
–
–
–
Comment débute et finit un cas d'utilisation
Les flux normaux
Le flux alternatifs
Les flux exceptionnels
Samira SI-SAID CHERFI
94
Exemple : Flux d'évènements de
"Maintenir programme"
• Ce cas d'utilisation débute lorsque le secrétaire général se connecte au
système et entre son mot de passe. Le système vérifie que le mot de
passe est valide et demande à l'utilisateur de choisir le semestre (1er
ou 2nd). Le secrétaire général choisit alors le semestre. Le système
invite alors le secrétaire à choisir une action : AJOUTER, MODIFIER,
CONSULTER ou QUITTER.
• Si l'action choisie est AJOUTER, le flux d'événements "Ajouter cours"
est exécuté.
• Si l'action choisie est CONSULTER, le flux d'événements "Consulter
programme" est exécuté.
• Si l'action choisie est QUIT, le cas d'utilisation se termine
• ….
Samira SI-SAID CHERFI
95
26
Établir le diagramme de cas d'utilisation
• Les diagrammes de cas d'utilisation sont créés pour
visualiser les relations qui lient les acteurs et les cas
d'utilisation.
Consulter emploi du temps
Enseignant
Étudiant
Inscription
Service de paiement
m. à. J. programme
Secrétaire général
Samira SI-SAID CHERFI
96
Affiner les cas d'utilisation
• Au moment de documenter les cas d'utilisation d'autres
relations peuvent être découvertes entre les cas d'utilisation.
– La relation « include » montre un comportement commun à plusieurs cas
d'utilisation.
– La relation « extend » montre un comportement alternatif ou optionnel
« include »
Inscription
« include » authentification
M. à. J. programme
Samira SI-SAID CHERFI
97
27
Réalisation des cas d’utilisation
• Les cas d’utilisation représentent comment le système est
vu depuis son environnement (l’extérieur).
• Les diagrammes d’interaction décrivent comment sont
réalisés les cas d’utilisation à travers les interactions entre
objets.
• Deux types de diagrammes d’interaction
– Diagrammes de séquence
– Diagrammes de collaboration
Samira SI-SAID CHERFI
98
Décrire les diagrammes de séquence
• Un diagramme de séquence représente les
interactions entre objets en tenant compte du
temps.
Dupond
un formulaire
d’inscription
un gestionnaire
d’inscription
Info 19768
1: remplir
2: soumettre
3: ajouter_cours(dupond, Info 19768)
4: ouvert?
6: ajouter étudiant(dupond)
Samira SI-SAID CHERFI
99
28
Construire le diagramme de classes
• Un diagramme de classes montre l’existence
de classes et de relations entre celles-ci.
• Les éléments qui doivent y figurer sont les
suivants :
– Les classes, leur structure et leur comportement
– Les relations d’association, d’agrégation, de
dépendance et d’héritage
– Les multiplicités et les indicateurs de navigation
– Les noms de rôles
Samira SI-SAID CHERFI
100
Trouver les classes
Formulaire d’inscription
Gestionnaire d ’inscriptions
Module
Étudiant
Enseignant
Cours
Samira SI-SAID CHERFI
101
29
Trouver les opérations
• Les opérations expriment le comportements d’une
classe
• Des opérations peuvent être déduites de l’examen
des diagrammes d’interaction
un formulaire
d’inscription
un gestionnaire
d’inscription
Gestionnaire d ’inscriptions
3: ajouter_cours(dupond, Info 19768)
ajouter_cours(Étudiant, module)
Samira SI-SAID CHERFI
102
Trouver les attributs
• Les attributs représentent la structure d’une classe
• Les attributs peuvent être trouvés en examinant les
définitions des classes, l’expression des besoins, et en
appliquant les connaissances acquise sur le domaine.
L’enseignement d’un
module est faite sous
forme de cours. Chaque
cours a un numéro, un
lieu et un horaire dans
la semaine.
Cours
numéro
lieu
horaire
Samira SI-SAID CHERFI
103
30
Trouver les relations entre classes
• Les relations sont déduites de l’examen des diagrammes
d'interaction : si deux objets doivent « converser » il doit y
avoir un support – une relation - pour cette
communication.
un gestionnaire
d’inscription
Gestionnaire d ’inscriptions
Info 19768
4: ouvert?
6: ajouter (dupond)
Module
Samira SI-SAID CHERFI
104
Les relations
Formulaire d’inscription
Gestionnaire d ’inscriptions
Ajouter étudiant (module, info)
Module
Nom
Nb_inscrits
Étudiant
Nom
Cours
Enseignant
lieu
horaire
grade
Samira SI-SAID CHERFI
105
Ouvert()
Ajouter étudiant(info)
31
Définir les multiplicités et la navigation
Comme les associations et les agrégations sont bidirectionnelles, il est
souhaitable de préciser la navigation (une seule direction).
Formulaire d’inscription
0..*
Gestionnaire d ’inscriptions
1
1
Module
Ajouter étudiant (module, info)
0..*
Étudiant
Nom
Nb_inscrits
3..10
Nom
âge
Enseignant
1..*
4
1
Cours
lieu
horaire
Nom
grade
Samira SI-SAID CHERFI
0..4
106
Ouvert()
Ajouter étudiant(info)
Trouver les relations d’héritage
• Deux moyens pour trouver les relations
d’héritage :
– Généralisation,
– spécialisation
Utilisateur
Nom
Enseignant
grade
Étudiant
âge
Samira SI-SAID CHERFI
107
32

Documents pareils