Académique Documents
Professionnel Documents
Culture Documents
Aziza EL OUAAZIZI
Faculté Polydisciplinaire de Taza
Département des Mathématiques, Physique et Informatique
Licence Informatique
1
Introduction
La réalisation d’un système informatique (logiciel)
nécessite::
nécessite
d’analyse comprendre et décrire de façon précise
une phase d’analyse
les besoins des utilisateurs ou des clients
clients.. Imaginer la solution
solution..
Une phase de conception apporter plus de détails à la
solution et clarifier les aspects techniques, tels que l’installation
des différentes parties logicielles sur un matériel
matériel..
La réalisation de ces deux phases nécessite des
méthodes, des conventions et des notations
notations..
Modèles
2
Pourquoi modéliser?
Réduire la complexité:
Elimination des détails qui n'influencent pas la compréhension du système.
Décomposition du système en sous-sous-systèmes afin de répartir les tâches
entre équipes.
3
Modélisation fonctionnelle
Début
Décision instructio4
fonctions et de données. Les
ction 12
Instructions12
manipulées. Instructions4
Fin
4
Inconvénients de la modélisation
fonctionnelle
5
Modélisation orientés objet
6
UML (Historique)
UML «Unified Modeling Language
anguage»» est un langage de modélisation
crée de la fusion des trois méthodes:
1991:OMT (Object
(Object Modeling Technique) de James RUM BAUGH;
7
Langage UML
UML est un langage de modélisation qui unifie les notations et
les concepts quels que soient le domaine d’application.
Constitué d’un ensemble de schémas, qui donnent chacun une vision
différente du projet à traiter, appelés des diagrammes:
Chaque diagramme est réalisé par un ensemble d’éléments de
visualisation (objet, classe, état, activité…) .
Un diagramme peut être réalisé soit manuellement ou à l’aide de progiciel
(Rational Rose, BoUML, StarUML, ArgoUML,…).
Avantages de UML:
ne préconise aucune démarche: liberté dans choix des diagramme et
l’ordre de leur utilisation.
Bon moyen de visualisation du logiciel futur (projet) grâce à la
représentation graphique et textuelle des diagrammes.
8
Cycle de vie adéquat à UML
Le cycle de vie d'un logiciel désigne toutes les étapes du développement d'un
logiciel, de son analyse à sa disparition.
Mise en place chez le client
Validation des
Définition et formulation des exigences des
besoins et utilisateurs (client) S’accorder sur ce qui
Vérification du bon déploiement doit être fait dans le système
fonctionnement de l’application
Implémentation Analyse
Traduction de la conception
Compréhension en profondeur des exigences
en code
Construction de modèles Comprendre les
Conception besoins et les décrire Solution
10
UML : les diagrammes (2)
Diagrammes d’objets: représentation des objets et de leurs
relations (instanciation du diagramme de classe).
11
Diagrammes des cas d’utilisation
12
Le système
13
Elaboration du diagramme des cas
14
Acteur
Les acteurs n’appartiennent pas au système, MAIS ils
interagissent avec celui
celui--ci
ci::
fournissent de l’information en entrée
entrée;;
et/ou reçoivent de l’information en sortie
sortie..
Les acteurs ne sont pas forcément des personnes
personnes..
acteurs principaux agissent directement sur le système
système..
acteurs secondaires n’ont pas de besoin direct d’utilisation
d’utilisation..
C’est généralement un autre système (logiciel) avec lequel le
nôtre doit échanger des informations
informations..
consultés par le système à développer,
récepteur d’informations venant du système
système..
15
Comment identifier un acteur?
16
Comment représenter un acteur?
Stick man
Nom Acteur
« Actor »
Nom Acteur
«system» Stick man Mot clé
Nom Acteur
17
Cas d’utilisation
Nom du cas
Nom du cas
Propriétés
« Use case »
Nom du cas
Nom du cas
Propriétés
18
Comment identifier les cas d’utilisation?
Remarque:
Remarque:
Nommer le cas d’utilisation par un verbe à l’infinitif
suivi d’un complément (du point de vue de l’acteur)
l’acteur)..
19
Exemple des cas d’utilisation d’un
distributeur de boissons
distributeur de boissons
Acheter une
boisson
Client
Remplir le
stock
Opérateur de
maintenance Vider la
caisse
20
Relations entre acteurs et cas
d’utilisation
Multiplicité
Multiplicité:: Lorsqu’un acteur peut interagir plusieurs fois
avec un cas d’utilisation, il est possible d’ajouter une
multiplicité sur l’association du côté du cas d’utilisation
d’utilisation::
* : plusieurs fois
n : exactement n fois
n..
..m
m : entre n et m fois
21
Relations entre acteurs et cas
d’utilisation
Client Serveur
22
Relations entre cas d’utilisation
Relation d’inclusion
d’inclusion::
Un cas A inclut un cas B si le comportement décrit par le cas A
inclut le comportement du cas B: le cas A dépend de B.
Lorsque A est sollicité, B l’est obligatoirement, comme une partie
de A.
symbolisée par le stéréotype << <<include
include>>
>> et représentée par une
flèche avec un trait pointillé orienté vers le cas inclut
inclut..
distributeur de boissons
Payer
«include» boisson
Acheter une
boisson
Client
23
Relations entre cas d’utilisation
Relation d’extension
d’extension::
un cas B étend un cas A lorsque le cas d’utilisation B peut être
appelé au cours de l’exécution du cas d’utilisation A. Lorsque A
est sollicité, B peut éventuellement être sollicité, (B est optionnel)
optionnel)..
symbolisée par le stéréotype << <<extend
extend>>
>> et représentée par une
flèche avec un trait pointillé vers le cas de base
base..
Toujours soumise une condition exprimé graphiquement dans
une note
note..
Annuler
« extend » l’opération
Acheter une
boisson
Client {si client appuye sur bouton annuler}
24
Relations entre cas d’utilisation
Relation de généralisation/spécialisation
généralisation/spécialisation::
Un cas A est une généralisation d’un cas B si B est un cas
particulier de A. Symbolisée par une flèche avec un trait pleins
vers le cas le plus général
général..
distributeur de boissons
Annuler
« extend » l’opération
Acheter une
boisson Généralisation
Client Payer
« include »
boisson
Régler en Régler en
espèce CB
Spécialisation
25
Relation entre acteur: généralisation
Passer «include»
commande
Rechercher
Préposé aux article
Suivre
commandes commande «include»
«include»
Gérer stock
Directeur
des ventes
26
Regroupement des cas d’utilisation en
paquetages
Un paquetage permet d’organiser les éléments de modélisation en
groupes.
groupes.
Le regroupement peut se faire par acteur ou par fonctionnalité (cas)
(cas)..
Système de vente par correspondance
Commande
Passer Support
commande
Rechercher
Préposé aux article
Suivre
commandes commande
Stock
28
Description textuelle des cas d’utilisation
Partie 2: description du fonctionnement du cas d’utilisation
Les pré
pré--conditions : elles décrivent dans quel état doit être le
système avant que ce cas d’utilisation puisse être déclenché
déclenché..
Les scénarios
scénarios:: échanges d’évènements décrivant comment les
différents acteurs vont utiliser le système
système.. On distingue des
scénarios::
scénarios
nominaux qui se déroulent quand il n’y a pas d’erreur
d’erreur;;
alternatifs qui sont des variantes du scénario nominal, l’objectif étant
malgré la variante, atteint à la fin
fin;;
d’exception qui décrivent les cas d’erreurs matériels qui contribue à
ne pas pouvoir atteindre l’objectif
l’objectif..
Des post
post--conditions : Elle décrivent l’état du système à l’issue
des différents scénarios
scénarios..
29
Description textuelle des cas d’utilisation
Partie 3: c’est une rubrique optionnelle qui contient généralement
des spécifications non fonctionnelles (spécifications techniques, …).
Elle peut éventuellement contenir une description des besoins en
termes d’interface graphique
graphique..
Exemple
Exemple::
distributeur de billet
Retirer
argent
Client
30
Exemple
Pré-condition contient des billets; en attente d’une opération: ni en panne, ni
en maintenance.
Déroulement normal: scénario nominal
(1) le client introduit sa carte bancaire, (2) le système lit la carte et vérifie si
la carte est valide, (3) le système demande au client de taper son code, (4)
le client tape son code confidentiel, (5) le système vérifie que le code
correspond à la carte, (6) le client choisit une opération de retrait, (7) le
système demande le montant à retirer, etc.
Variantes: scénario d’exception
Carte invalide: au cours de l’étape (2), si la carte est jugée invalide, le
système affiche un message d ’erreur, rejette la carte et le cas d’utilisation
se termine.
Post-condition si de l’argent a pu être retiré, la somme sur le compte est
égale à la somme qu’il y avait avant moins le retrait. Sinon, la somme sur le
compte reste inchangée.
Contraintes non fonctionnelles
(A) Performance: le système doit réagir dans un délai inférieur à 4
secondes, quelque soit l’action de l’utilisateur.
(B) Sécurité: le guichet avale la carte soumise à une plainte de vol.
31
Description textuelle au service du client
Lorsde la description de chacun des cas d’utilisation, de
nombreuses questions supplémentaires peuvent apparaître
32
Conclusion
33
Exercice 1
La société royale d’archéologie automobile vous embauche pour réaliser un
système de support aux archéologues lors des fouilles
fouilles..
Un archéologue lors d’une fouille réalise le croquis d’une pièce sur son
Tablet PC et l’envoie au serveur de l’association
l’association.. Pour ce faire il ouvre un
nouveau dessin et commence à dessiner dessiner.. Il a également la possibilité de
copier des éléments à partir d’un ancien dessin
dessin.. Après avoir défini un certain
nombre de propriétés pour son dessin (résolution, nombre de couleurs, couleurs,…
…),
l’archéologue envoie son dessin au serveur de bases de données en
indiquant où le fichier doit être stocké et par qui il peut être vu
vu..
1- Proposer un diagramme des cas d'utilisations pour ce système
système..
2- On vous demande d’adapter le système dans le cas où les archéologues
de terrain sont de deux types types:: les archéologues apprentis et les
archéologues confirmés
confirmés.. Pour assurer la qualité de la base de données,
seuls les confirmés peuvent réaliser et envoyer des croquis au serveur
serveur..
Néanmoins, les archéologues apprentis peuvent prendre et envoyer des
notes de type texte (prises sur leur Tablet PC) PC).. Cette faculté est
également accessible aux confirmés
confirmés.. Ces notes seront disponibles pour
tous via le site web de l’association
l’association..
34
Correction: digramme des cas d’utilisation
<<include>>
Réaliser croquis Définir propriétés
<<extend>>
Envoyer croquis
«system»
SBD
35
Correction
Support aux archéologues
<<include>>
Réaliser croquis Définir propriétés
Archéologue <<extend>>
expérimenté
Prendre note
Utiliser anciens dessin
Archéologue
Envoyer information
Archéologue
apprenti
37
Correction
Réservations de salles et du matériel
Consulter
planning
Vérifier
disponibilité
Etudiant
<<include>>
Réserver
Effectuer salle
réservation
Réserver
Enseignant
matériel
Consulter
horaire
38