Académique Documents
Professionnel Documents
Culture Documents
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
Logiciel- définition :
Traduction du terme anglais « software » en 1967 par
Philippe Renard, Commission spécialisée de terminologie et
de néologie de l'informatique et des composants :
« Ensemble des programmes, procédés et règles, et
éventuellement de la documentation, relatifs au
fonctionnement d'un ensemble de traitement de données »,
Le terme « programme » se définissant comme une suite
d'instructions permettant de réaliser une ou plusieurs
tâche(s), de résoudre un problème, de manipuler des
données. Le programme est l'expression d'un algorithme
dans un langage donné pour une machine donnée
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
Logiciel- définition :
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.1 Introduction
O N
U TI
C
E XE
Achats Production Distribution Marketing/Ventes
Usine
Administration
École
Banque
Entreprise /organisation Association
Université
Cabine
Etc …Hôpital
desportive
service
0
Définie des stratégies
1
25
20
2
3
4
5
6
Fixe les objectifs
15
10
7
8
9
10
11
12
Système de décision Décide des choix
5 13
14
00246810
12
14
16
18
15
20
16
Démarre
La réparation Démarrage
de la facture du camion
Préparez la facture
Chef
C'est
Ca ne bâché
Allez graisser c'est plein
coule plus
La réparation
la trappe
Comptabilité de la trappe
Maintenance
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017 7
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.1 Introduction
La coordination à distance
Automate
Il faut bâcher
Capteur avant de
partir
Trappe
motorisé
Comptabilité Maintenance
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.1 Introduction Capteur
La coordination automatique
Capteur
9
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel - caractéristiques :
Produit non palpable,
Développé par l’être humain (non industrialisé),
Dont l’assemblage est difficile,
et la maintenance devant être assurée par ceux qui l’ont
développé,
Le logiciel peut être :
Un logiciel système : Propriétaire d’u constructeur, qui est très dépendant
du matériel (OS, Logiciel de firewall, Drivers,…) ou propriétaire d’u éditeur
qui est une boîte noire généralement paramétrable (SGBD)
Un logiciel application : Propriétaire d’u éditeur et assurant une fonction
précise (ERP, Bureautique, application de loisir); ou développé pour les
besoins spécifiques de l’e t ep ise, soit par elle-même, soit par
l’i te édiai e de sociétés de services.
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
Le logiciel doit être de qualité, une erreur dans le
logiciel entraine des conséquences néfastes :
En 1962, la sonde Mariner qui devait effectuer un passage
à 5 000 km de Vénus s'est perdue à 5 000 000 km de ladite
planète à cause d'une erreur de programme Fortran : le
point avait été remplacé par une virgule (format US des
nombres).
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
Le logiciel doit être de qualité, une erreur dans le
logiciel entraine des conséquences néfastes :
Le 4 juin 1996, lors du premier lancement de la fusée
Ariane V, celle-ci explose en vol. La cause : un logiciel
utilisé sous Ariane IV et intégré sans nouvelle validation
dans Ariane V. Un module convertissait des réels 64 bits en
des entiers signés 16 bits ce qui a cause un
fonctionnement anormal des moteurs. La fusée s’est
désintégrée après 40 secondes de vol. Coût : 1/2 milliard
de dollars
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques - la qualité :
Qu’est ce u’u bon logiciel ? Plusieurs exigences (critères
existent, les plus complets sont ceux de l’ISO/IEC 9126
qui distingue deux structures de la qualité du logiciel :
La qualité interne et externe est modélisée à travers les
six dimensions : fonctionnalité, fiabilité, utilisabilité,
efficacité, maintenabilité et portabilité;
La qualité du logiciel en usage est modélisée à travers
quatre autres dimensions : efficacité, productivité,
sécurité et satisfaction.
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel caractéristiques - la qualité :
Il faut ajouter à ces exigences deux critères :
Le coût,
Le délai.
Les objectifs de qualité doivent être définis pour
chaque logiciel, u’il faut contrôler durant son
développement et après,
Ces différentes exigences de qualité ne sont pas
toujours compatibles, ni même réalisables;
Il est nécessaire de trouver des compromis;
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : L’entreprise
1.1 Notion de l’entreprise
Logiciel – caractéristiques – la qualité :
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Réunion préparatoire
au Comité Exécutif
Merci
N
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.2 Objectifs :
La première motivation du Génie Logiciel est la réduction des
coûts de développement du logiciel (efficience) par la
rationalisation et l’optimisation du processus de
production d'un logiciel;
Produire des logiciels répondants à des critères de
qualité définis au préalable :
Adéquation aux besoins du client,
Respect des délais et des coûts de réalisation prévus,
En plus, il doit être maintenable, fiable, efficace et doit
offrir une interface utilisateur appropriée.
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.3 Apparition du Génie Logiciel :
Le terme « génie logiciel, Software Engineering » a été
introduit pour la première fois en 1968 lors d’une
conférence internationale consacrée à des discussions
sur la « crise du logiciel »,
La crise est apparue lorsque l’on a pris conscience que :
le coût du logiciel dépassait le coût du matériel
(Aujourd’hui, il le dépasse très largement),
Les logiciels étaient de mauvaise qualité et ne
répondaient pas aux besoins,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.3 Apparition du Génie Logiciel – Crise du logiciel :
Rapport de 1979 sur la réussite et l’échec des projets
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.3 Apparition du Génie Logiciel – Crise du logiciel:
Rapports CHAOS du Standish Group :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.3 Apparition du Génie Logiciel – Crise du logiciel:
Facteurs de réussite / échec des projets :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.2 Le Génie Logiciel
1.2.4 Développement de logiciels :
Fait en TD
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Cycle de vie d’un logiciel
Conception du logiciel
Implémentation du logiciel
Maintenance du logiciel
12
Modèles de cycles
de vie d’un logiciel
13
Le cycle de vie en cascade
Etude de faisabilité
Validation
Validation
Conception générale
Vérification
Conception détaillée
Vérification
Codage
14
Les phases traditionnelles de développement sont
effectuées les unes après les autres, avec un retour sur les
précédentes, voire au tout début du cycle,
Le processus de développement utilisant un cycle en
cascade exécute des phases qui ont pour caractéristiques :
◦ de se terminer à une date précise ;
◦ de ne se terminer que lorsque les livrables sont jugés
satisfaisants lors d'une étape de validation-vérification.
15
Le cycle de vie en V
Analyse des besoins Test d ’acceptation
Conception du
Test du composant i
composant i
Codage du composant i
16
Une activité peut commencer avant d’avoir terminé la
précédente,
Toute description d'un composant est accompagnée de
tests,
Ce modèle est une amélioration du modèle en cascade qui
permet en cas d'anomalie, de limiter un retour aux étapes
précédentes,
Les phases de la partie montante doivent renvoyer de
l'information sur les phases en vis-à-vis lorsque des défauts
sont détectés afin d'améliorer le logiciel.
17
Le cycle de vie en spirale
◦ fournir le plus rapidement possible un prototype pour
valider les concepts
◦ se rapprocher progressivement de l’application finale
3
Développement Exploitation
18
Chapitre 1 : Le Génie Logiciel
1.4 Introduction à la modélisation
Un modèle est une représentation simplifiée d’une réalité
que l’on veut étudier (plan d’une maison, carte
géographique, schéma électronique…),
Un modèle n’est pas la réalité; MAIS SE CONSTRUIT A
PARTIR DE L’OBSERVATION DE LA REALITE,
Un modèle est une abstraction, une synthèse (ne garde
que l’essentiel) d’un aspect de la réalité étudiée.
Nécessité donc de plusieurs modèles pour représenter
plusieurs aspects de cette réalité,
Un modèle, généralement graphique, s’exprime avec un
ensemble de concepts dotés de règles d’utilisation et de
représentation (Entité-Association, UML…),
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Chapitre 1 : Le Génie Logiciel
1.4 Introduction à la modélisation
Les modèles servent à :
Communiquer : entre analystes, analystes et
concepteurs..; et même avec les utilisateurs pour vérifier
et valider la compréhension de la réalité et du problème
étudiés,
Documenter : les modèles constituent une
documentation qui sera utilisée pour la maintenance,
Préparer la phase d’implémentation (codage) de la
solution (en phase de conception),
A. Benghalia , abderaoufb@yahoo.fr
UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Système de
décision
Décisions
?
Analyse des aspects Informationnels
Système
d’information
On cherche à concevoir
Informations ?
21
La modélisation est la conception d'un modèle.
Objectif principal de la modélisation = maîtriser la complexité
Modéliser = abstraire la réalité pour mieux comprendre le
système à réaliser
Le modèle doit être relié au monde réel
un modèle permet de modéliser le fonctionnement d'un
ensemble de programmes informatiques.
Un modèle permet de communiquer : entre les membres de
l’équipe génie logiciel et même avec les utilisateurs pour
vérifier et valider la cohérence de l’architecture logiciel et leur
contexte,
22
Flux physique ?
Analyse des aspects fonctionnels
Système opérant
On cherche à décrire
Activité Processus
23
Activité
informa
tion
24
Processus
Processus
Entrée
Acitivité1
Activité2
Sortie
Matières-
… Activitén Objectif
premières
Énergie Biens matériels
Informations ou immatériels
Processus :
Est un enchainement logique d’activités dans le temps afin de réaliser un but
25
Modélisation Orienté Objet
26
Chapitre 1 : Le Génie Logiciel
1.4 Introduction à la modélisation
Principes de l’orienté objet :
1. L’abstraction : l’essentiel d’un objet
C’est une action de l’esprit, à partir d’un objet réel donné, on extrait
une signification utile et construit une idée ou un concept
manipulable [Association française du Génie Logiciel version 1995],
Grady Booch la définit par : « Une abstraction définit les
caractéristiques essentielles d’un objet qui le différencie de tous les
autres objets, et trace ses frontières. Ceci est toujours relatif à la
perspective de l’observateur »
Ces caractéristiques sont liées au domaine d’étude,
On ignore les détails, on ne garde que l’essentiel
Exemple : L’objet « Etudiant » dans une gestion de scolarité :
Matricule, Nom & prénom, Adresse, téléphone, Filière BAC,
Moyenne Bac, son parcours à l’université….
On ignore : les détails sur sa personnalité, les détails sur sa vie
personnelles,…
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 1 : Le Génie Logiciel
1.4 Introduction à la modélisation
Principes de l’orienté objet :
1. La Hiérarchie : l’organisation
La hirarchie est lorganisation des connaissances sous forme
pyramidale. Cest diviser les comportements dune classe de faon
hirarchique. Cela permet une comprhension plus rapide du problme.
Cest aussi un systme de classification.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Les premières méthodes d'analyse (années 70)
32
Objets possédant un nom, qualifiables, classables,
polymorphes, dé-/composables, interagissants avec d’autres
objets, etc.
Meilleure capacité d’adaptation et d’évolution du modèle
lorsque des fonctionnalités sont modifiées ou ajoutées
L’approche orientée objet est une façon d’aborder un
problème et de le découper en petits sous-problèmes. On
commence par rechercher les objets du système puis leurs
interactions.
33
Rechercher les différents types d’objets qui font partie du
système à réaliser :
la banque, les clients, les comptes bancaires, les conseillers
clients, les transferts, les placements, les emprunts.
Etudier ensuite les interactions entre ces différents types
d’objets : par exemple, la création d’un compte bancaire
nécessite des interactions entre le client et un conseiller client
34
Réunion préparatoire
au Comité Exécutif
Merci
N
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 2 : UML – Unified Modeling Language
2.1 Historique de UML
Les principaux acteurs dans la définition de UML sont :
G.Booch, J.Rumbaugh et I.Jacobson
Booch91 et OMT1 étaient les premiers modèles,
1993, les nouvelles versions Booch93 et OMT2 sont pratiquement
identiques,
1994, J. Rumbaugh entre dans la société Rational de G.Booch,
1995, publication de la première version UM 0.8 (Unified Method),
1996, Ivar Jacobson se rejoint avec son modèle OOSE, la première
version de UML 0.9 paraît,
997 la versio UML . est propos e à l’OMG O je t Modelling
Group) pour standardisation,
Nove re 997, la versio . est sta dardis e par l’OMG,
L’ volutio de UML peut tre suivie sur le site de l’OMG.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 2 : UML – Unified Model Language
2.1 Historique de UML
Mars 2015 UML 2.5; UML est utilisée pout tout type de
logiciel.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
UML (Unified Modeling Language, « langage de
modélisation unifié ») est un langage graphique de
modélisation objet des données et des traitements.
6
langage de modélisation objet unifié
UML est un langage pour :
Visualiser
Chaque symbole graphique possède une sémantique
Spécifier
De manière précise et complète, sans ambiguïté
Construire
Une partie du code des classes peut être généré
automatiquement
Documenter
Les différents diagrammes, notes, contraintes, exigences
sont conservés dans un document
7
langage de modélisation objet unifié
UML n’est pas une méthode
c'est un langage de modélisation dédié à l'objet.
8
Un diagramme UML est une représentation
graphique, qui s'intéresse à un aspect du système
à réaliser,
Chaque type de diagramme UML possède une
structure (les types des éléments de modélisation
qui le composent sont prédéfinis).
Les différents types de diagrammes UML offrent
une vue complète des aspects statiques et
dynamiques d'un système.
9
Il est utilisé dans l’activité de
spécification des besoins. Il montre
les interactions fonctionnelles entre
les acteurs et le système à l’étude
10
représente les règles d’enchaînement des
actions et décisions au sein d’une activité.
Il peut également être utilisé comme
alternative au diagramme d’états pour
décrire la navigation dans le système
11
est le point central dans un développement
orienté objet. Il a pour objet de décrire la
structure des entités manipulées par les
utilisateurs.
12
Il montre les instances des éléments
structurels et leurs liens à l’exécution.
13
représente le cycle de vie commun aux
objets d’une même classe. Ce diagramme
complète la connaissance des classes en
analyse et en conception en montrant les
différents états et transitions possibles des
objets d’une classe à l’exécution
14
Il montre la séquence verticale des
messages passés entre objets au sein
d’une interaction
15
montre l’organisation logique du modèle
et les relations entre packages. Il permet
de structurer les classes d’analyse et de
conception, mais aussi les cas d’utilisation
16
Chapitre 2 : UML – Unified Modeling Language
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 2 : UML – Unified Modeling Language
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 2 : UML
Bibliographie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Tous les acteurs n’utilisent pas forcément le système en étude
de la même façon,
Acteur principal : celui pour qui le cas d’utilisation produit un
résultat observable.
Acteurs secondaires : les autres participants du cas
d’utilisation. Les acteurs secondaires sont souvent sollicités
pour des informations complémentaires; ils peuvent
uniquement consulter ou informer le système lors de
l’exécution du cas d’utilisation.
Une bonne pratique consiste à faire figurer les acteurs
principaux à gauche des cas d’utilisation et les acteurs
secondaires à droite.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio Association qui signifie ici :
Diagramme de cas d’utilisation : « participe à »
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Relation entre acteur et cas d’utilisation :
Signifie : « participe à » ;
La présence de flèche sur le trait de la relation signifie
alimentation en information dans le sens unique de la flèche,
La non présence de flèche signifie alimentation en
information dans les deux sens,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Relation entre cas d’utilisation :
Une relation d’inclusion : formalisée par le mot-clé
<<include>>: le cas d’utilisation de base en incorpore
explicitement un autre, de façon obligatoire.
Un cas d’utilisation peut avoir plusieurs cas d’utilisation
d’inclusion,
Le cas d’utilisation
ne s’exécute que si tous ces
cas d’inclusion ont été exécutés
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Relation entre cas d’utilisation :
Une relation d’extension : formalisée par le mot-clé
<<extend>>: le cas d’utilisation de base en incorpore
implicitement un autre, de façon optionnelle
SOIT deux CU : CU1 et CU2
CU2 étend CU1 par un comportement optionnel qui a lieu sous
une certaine condition
Cette o ditio est appel « poi t d’e te sio »
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Relation entre cas d’utilisation :
Une relation de généralisation/spécialisation : les cas
d’utilisation descendants héritent de la description de leur
parent commun. Chacun d’entre eux peut néanmoins
comprendre des interactions spécifiques supplémentaires.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Acteur
généralisé Relation de type
Généralisation/sp
écialisation
Relation de type
extension
Relation « participe
à » avec échange
d’i for atio du
système vers
l’acteur
Relation de type
inclusion
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Acteur généralisé :
Dans le cas où deux acteurs, ou plus, présentent des similitudes
dans leurs relations aux cas d’utilisation; alors il y a lieu de
créer un acteur généralisé, éventuellement abstrait, qui
modélise les aspects communs aux différents acteurs concrets.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
• Description textuelle
– Transcription textuelle de la description des cas d’utilisation
– Compléments aux diagrammes
– Avantages:
• La rédaction permet de corriger le diagramme
• Le diagramme oblige à rédiger chaque cas
14
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Bonnes pratiques :
Comment identifier les acteurs ?
Les acteurs candidats sont systématiquement :
les utilisateurs humains directs : faites donc en sorte
d’identifier tous les profils possibles, sans oublier
l’administrateur, l’opérateur de maintenance, etc. ;
les autres systèmes connexes qui interagissent aussi
directement avec le système étudié, souvent par le biais de
protocoles bidirectionnels.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Bonnes pratiques :
Comment identifier les cas d’utilisation ?
Les cas d’utilisation doivent décrire exhaustivement les exigences
fonctionnelles du système.
Chaque cas d’utilisation correspond à une fonction métier du
système, selon le point de vue d’un de ses acteurs.
Pour chaque acteur, il convient de :
rechercher les différentes intentions métier avec lesquelles il
utilise le système,
déterminer dans le cahier des charges les services
fonctionnels attendus du système,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.1 Diagra e des cas d’utilisatio
Bonnes pratiques :
Une erreur fréquente concernant les cas d’utilisation consiste à
détailler de façon très fine les séquences d’actions.
Le cas d’utilisation ne doit donc pas se réduire
systématiquement à une seule séquence, et encore moins à
une simple action. Le cas d’utilisation représente un ensemble
de séquences d’actions réalisées par le système, et le lien entre
ces séquences d’actions est précisément l’objectif métier de
l’acteur.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
EXERCICES
18
EXERCICE -1-
• Une agence de voyages organise des voyages
où l’h e ge e t se fait e hôtel. Le lie t
doit dispose d’u ta i ua d il a ive à la ga e
pou se e d e à l’hôtel.
19
Système de réservation Agence de Voyages
Réserver un taxi
Organiser un
voyage
Client
20
Certains clients demandent à l’agent de
voyages d’établir une facture détaillée. Cela
donne donc naissance à un cas ?
« Établir une facture détaillée ». Comment
mettre cela en relation avec les cas existants ?
21
22
23
24
Chapitre 3 : Modélisation des SI avec UML
Bibliographie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagra e des cas d’utilisatio UEF41 – 2016/2017
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.1 Présentation :
Les diagrammes d’activité sont adaptés à la modélisation
des processus métiers (achat, production, vente, …),
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Les éléments de base d’un DA :
1. Les actions : c’est l’unité fondamentale de spécification
comportementale en UML 2.0. Elle représente un
traitement ou une transformation. Les actions sont
contenues dans les activités.
Elle est représentée graphiquement : AAction
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Les éléments de base d’un DA :
3. L’état initial : Il montre le point de départ de la
première action. Il n’y a qu’un seul état initial par
activité.
Il est représenté graphiquement par :
4. L’état final : Il montre le point d’arrivée de la dernière
action. Il peut y avoir plusieurs états finaux pour une
activité.
Il est représenté graphiquement par :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Les éléments de base d’un DA :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Exemple : Inscription aux universités
1. Etape 1: Annonce des résultats du bac : récupération
des documents de réussite,
2. Etape 2- Préinscription via Internet et remplissage de
la fiche de vœux
3. Etape 3: Confirmation de la préinscription, possibilité
de modifier la fiche de vœux
4. Etape 4: Affectations et recours en ligne
5. Etape 5: Inscription définitive auprès de
l'Etablissement
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Exemple : Inscription aux universités
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
1. Les Décisions (Branchement Conditionnels) et fusions :
Une décision est un nœud de contrôle représentant un
choix entre plusieurs conditions.
Il est représenté par un losange qui possède un arc
entrant et plusieurs arcs sortants. Le flot de contrôle
suit le chemin de la condition vérifiée.
La fusion est l’emplacement où tous les chemins
alternatifs vont se rencontrer.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.2 Les éléments de base d’un DA :
1. Les Décisions (Branchement Conditionnels) et fusion :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
2- Actions parallèles :
En utilisant les nœuds « fork » et « join ».
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
3- Les partitions :
Permet de montrer le rôle organisationnel chargé de
l’exécution d’une ou plusieurs actions de l’activité,
Une partition désigne généralement le rôle exécutant l’action
en cours,
Les partitions rendent les DAs plus faciles à lire et plus
expressifs,
Les partitions peuvent être représentées d’une manière
horizontale ou verticale,
Un DA représenté avec des partitions ressemble au MOT de
MERISE
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
3- Les partitions :
Exemple :
pour valider une
facture, le gestionnaire
lance la validation,
le magasinier prépare
le stock et enfin,
le comptable vérifie
le paiement
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
3- Les Nœuds d’objet :
Il est utilisé dans une transition entre deux actions,
Il montre qu’une instance d’une classe (objet) est utilisée,
créée ou modifiée un emplacement précis de l’activité,
Il permet aussi de représenter le flux de données durant
l’exécution de l’activité,
Il est représenté graphiquement par un rectangle :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
3- Les Nœuds
d’objet :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité
3.2.3 Autres éléments d’un DA :
3- Les Nœuds d’objet :
Peuvent être représentés par des « PINS » qui montrent l’objet
en entrée et en sortie d’une action :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité - Exercice
Recette Mousse au chocolat :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme d’activité - Exercice
Recette Mousse au chocolat :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
Bibliographie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagramme des cas d’utilisation UEF41 – 2016/2017
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.1 Présentation :
Le DS décrit les interactions entre les objets et les acteurs
du système d’u point de vue temporel ;
Une interaction est un échange d’i fo atio s, appelé
message, entre les objets qui composent le système et/ou
entre le système et ses acteurs.
Le DS a pour but de décrire un des différents scénarios
d’e écutio d’u cas d’utilisatio en montrant comment les
objets (au sens large : acteur, système, instance d’u e
classe…) collaborent au cours du temps et quelles
responsabilités ils assument (que font-ils comme
traitement)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.1 Présentation :
Le DS élaboré durant la phase d’a al se est dit
« Diagramme de Séquence Système DSS » : pour
souligner le fait que le système en étude est considéré
comme une boîte noire dans le diagramme. Seuls les
échanges entre le système et tous ses acteurs sont
représentés en insistant sur la chronologie. La boite noire
sera ouverte en phase de conception où les objets qui
composent le système auront été identifiés et les
interactions entre eux seront représentées dans le
diagramme.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.1 Présentation :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.2 Elément de base d’un DS :
1. Participant :
Envoi, reçoit et traite des messages
Peut être :
Un objet (instance d’une classe)
Une classe
Un acteur principal ou secondaire
Le système dans un DSS
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.2 Elément de base d’un DS :
1. Participant
2. Ligne de vie :
Est associée à chaque participant,
Indique les périodes d’activité
de l’objet (le moment où le participant
exécute un traitement)
peut être considérée comme
un axe temporel (le temps s’écoule
du haut vers le bas )
La ligne de vie peut se terminer par
Ba de d’activatio
une croix lorsque l’objet est détruit
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.2 Elément de base d’un DS :
1. Participant
2. Ligne de vie
3. Message :
Représente une communication entre
deux lignes de vie,
C’est à la réception d’u message que
la ligne de vie obtient son activation,
La réception d’u message est
considérée par le récepteur comme un
événement u’il faut traiter (ou pas)
On distingue le message d’appel
Et le message de retour qui est le résultat direct du message
précédent,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.2 Elément de base d’un DS :
1. Participant
2. Ligne de vie
3. Message :
Les types de messages :
-Un message synchrone est un
appel où l’é etteu se bloque
en attente de la réponse, sinon
le message est asynchrone
(on l’appel signal).
-Le message récursif représente un comportement interne important
que l’o veut montrer,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.2 Elément de base d’un DS :
1. Participant
2. Ligne de vie
3. Message :
Les types de messages :
-La création d’u objet se fait
avec le message standardisé create
pointant vers le rectangle
en tête de la ligne de vie
et la destruction se fait avec le
message standardisé destroy
représenté par la croix sur la ligne
de vie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.3 Quelques compléments du DS :
1. Messages retours implicites et explicites :
Le retour d’u appel de message synchrone peut ne pas être
représenté sur le diagramme, le retour est alors implicite,
le retour d’u appel de message doit être explicite et doit figurer
sur le diagramme, sauf si, bien entendu, il ’est pas attendu un
retour.
1. Dédoublement de la bande d’activation :
Lorsque la ligne de vie d’u participant est activée, et que ce dernier
reçoit un message ou u’il s’e voie un message (exécuter un
traitement interne), on représente cela par un dédoublement de
la bande d’activatio .
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
3.3.3 Quelques compléments du DS :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
Exercice :
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les
commandes des clients à cause d’une grande affluence des clients dans ses locaux.
Pour améliorer ses processus, il demande à son service informatique de
développer un système de gestion des commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le
montant de la commande en calculant le prix des articles de chaque ligne, de leurs
quantités et éventuellement une remise dont pourrait bénéficier le client. Une fois
la commande créée, le client doit régler le montant. Il peut régler la commande
par virement bancaire ou par envoi de chèque. Une fois la commande payée, deux
services s’occupent de la traiter, le service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock
prépare les articles commandés par le client. Si le stock est insuffisant, il crée alors
une commande de réapprovisionnement. Une fois la facture générée et les articles
préparés, le commercial envoie la facture au client et l’invite à se présenter pour
N. Taibouni, n_taibouni@esi.dz
récupérer les articles qu’il a commandés. UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme de séquence
Exercice :
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les
commandes des clients à cause d’une grande affluence des clients dans ses locaux. Pour
améliorer ses processus, il demande à son service informatique de développer un
système de gestion des commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le
montant de la commande en calculant le prix des articles de chaque ligne, de leurs
quantités et éventuellement une remise dont pourrait bénéficier le client. Une fois la
commande créée, le client doit régler le montant. Il peut régler la commande par
virement bancaire ou par envoi de chèque. Une fois la commande payée, deux services
s’occupent de la traiter, le service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock
prépare les articles commandés par le client. Si le stock est insuffisant, il crée alors une
commande de réapprovisionnement. Une fois la facture générée et les articles préparés,
le commercial envoie la facture au client et l’invite à se présenter pour récupérer les
articles qu’il a commandés.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
Bibliographie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagramme de séquence Première partie UEF41 – 2016/2017
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
Représentation graphique
d’un diagramme de classes :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
1. Une classe est un descripteur d’un ensemble d’objets qui
possèdent les mêmes caractéristiques et les mêmes
comportements. On peut parler également de type.
Exemples : la classe Enseignant, la classe Module.
2. Un objet est une abstraction d'une entité de la réalité
étudiée, qui est décrit par un ensemble d’attributs et un
ensemble d'opérations.
Exemples : les attributs (NomEnseignant,
GradeEnseignant, NomModule, VhoraireModule,…);
les opérations (Affecter(),Consulter(),AvancerGrade()…)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Un objet possède une frontière bien définie, une identité
et encapsule un état et un comportement. Un objet est
une instance (ou occurrence) d’une classe.
Exemple : Nora TAIBOUNI est un objet instance de la
classe Enseignant. Le cours Génie Logiciel est une
instance de la classe Module.
L’état de l’objet est l’ensemble des valeurs de ses attributs
Le comportement de l’objet est représenté par les
opérations qu’il peut effectuer.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Notation :
Quatre façons de représenter graphiquement une classe :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Notation classe :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Notation :
Utiliser la convention UpperCamelCase. Le nom de classe
est en minuscules et la première lettre en majuscules. Si le
nom de la classe est composite, le nom de chaque mot
composant est en minuscule et la première lettre en
majuscule. Par exemple : Agent, Compte, LigneFacture,
MandatPostalValide.
Eviter les abbréviations : par exemple utiliser
FactureValideDetaillee au lieu de FactureVD.
La visibilité s’applique aussi bien aux attributs qu’aux
opérations. Elle n’est pas importante durant la phase
analyse.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Notation :
Visibilité Nom Description
+ publique Accès depuis la même classe et à
l’extérieur de la classe
- privée Accès depuis la même classe
uniquement
# protégée Accès depuis la même classe et les
classes descendantes
~ paquet Accès depuis la même classe et toutes
les classes appartenant au même
paquet
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
3. Une association représente une relation sémantique
entre deux classes. Elle se traduit par un lien entre deux
instances de ces classes.
Exemple : Un enseignant peut enseigner plusieurs
modules. La relation « enseigner » est une association
entre la classe Enseignant et la classe Module.
L’association est par défaut bidirectionnelle, elle se lit
dans les deux sens : un module est enseigné par un
enseignant.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
La multiplicité spécifie le nombre d’objets qui peuvent
participer à l’association. Elle est représentée aux deux
extrémités de l’association.
Multiplicité
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Les cas de multiplicité :
Multiplicité Signification
0..1 Zéro ou 1
1 Exactement 1
0..* Zéro ou plusieurs
* Zéro ou plusieurs
1..* 1 ou plusieurs
1..9 1 à 9 (intervalle)
9 Exactement 9
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Lecture de l’association avec la multiplicité :
Voiture Pneu
1 4
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Lecture de l’association avec la multiplicité :
Société Employe
1 *
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base : Exemple
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les commandes
des clients à cause d’une grande affluence des clients dans ses locaux. Pour améliorer ses
processus, il demande à son service informatique de développer un système de gestion
des commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le montant
de la commande en calculant le prix des articles de chaque ligne, de leurs quantités et
éventuellement une remise dont pourrait bénéficier le client. Une fois la commande créée,
le client doit régler le montant. Il peut régler la commande par virement bancaire ou par
envoi de chèque. Une fois la commande payée, deux services s’occupent de la traiter, le
service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock
prépare les articles commandés par le client. Si le stock est insuffisant, il crée alors une
commande de réapprovisionnement. Une fois la facture générée et les articles préparés, le
commercial envoie la facture au client et l’invite à se présenter pour récupérer les articles
qu’il a commandés.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base : Exemple
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les commandes
des clients à cause d’une grande affluence des clients dans ses locaux. Pour améliorer ses
processus, il demande à son service informatique de développer un système de gestion des
commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le
montant de la commande en calculant le prix des articles de chaque ligne, de leurs
quantités et éventuellement une remise dont pourrait bénéficier le client. Une fois la
commande créée, le client doit régler le montant. Il peut régler la commande par virement
bancaire ou par envoi de chèque. Une fois la commande payée, deux services s’occupent de
la traiter, le service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock prépare
les articles commandés par le client. Si le stock est insuffisant, il crée alors une commande
de réapprovisionnement. Une fois la facture générée et les articles préparés, le commercial
envoie la facture au client et l’invite à se présenter pour récupérer les articles qu’il a
commandés.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
«entity»
«entity» Produit
Facture
- prix :double
- date :Date - quantite :double
1 1 1..*
- montant :double
«entity»
0..*
Ligne
1..* - prix :double
- quantite :double
- remise :double
1..*
1
1
«actor»
Client «entity»
Commande
«entity»
ModeReglement
«entity»
Virement
«entity»
Cheque
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Les types d’association :
1. La dépendance :
La relation de dépendance entre deux classes signifie que les
objets d’une classe utilisent les objets de l’autre classe.
0..*
Commande Produit
1..*
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Les types d’association :
1. La composition :
C’est une agrégation forte. Un élément ne peut appartenir
qu’à un seul agrégat composite.
La destruction de l’agrégat composite entraîne la destruction
de tous ses éléments.
1
Commande LigneCommande
1..*
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.2 Définition des concepts de base :
Les types d’association :
1. L’héritage :
C’est une relation de généralisation entre une super-classe (classe
plus générale) et une ou plusieurs autres classes plus spécialisées
(sous-classes). Les sous-classes « héritent » des propriétés et
comportement de leur super-classe et peuvent comporter des
propriétés et comportements spécifiques supplémentaires.
Parfois une classe ne peut exister que par l’existence des classes
descendantes. Elle n’a pas d’existence propre : c’est la classe
abstraite :
Elle ne s’instancie pas, son nom est noté en italique pour la
différencier. Exemple : MoyenDeTransport.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres concepts :
1. L’attribut dérivé :
C’est un attribut dont la valeur peut s’obtenir d’autres
informations disponibles dans le modèle (de la même classe,
ou de classes en association).
Il est considéré comme redondant, mais comme il est
important pour les utilisateurs, alors il est représenté sur le
modèle avec un « / » qui précède le nom de l’attribut.
Exemple : /age, /montantFacture,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres concepts :
1. Les contraintes :
C’est une condition entre éléments du modèle qui doit être
vérifiée par les éléments concernés,
Elle est notée entre accolades {} et peut être insérée au besoin
dans une note graphique,
La contrainte prédéfinie {ordered} ajoute, dans une
association, une précision sur une multiplicité supérieure à 1.
Cette précision est la notion de séquence des objets de la
classe concernée.
UML définit plusieurs contraintes prédéfinies (frozen, xor,…)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres concepts :
1. Les contraintes :
Commande
DateCommande
Client 1..* ModePaiement
FraisLivraison
CodeClient /MontantProduit
{ordered}
NomClient /MontantTotal
PrenomClient 1 {Montant total =
MontantProduit
+FraisLivraison}
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres concepts :
1. La classe d’association :
Lorsque l’association entre deux classes est porteuse
d’attributs (les attributs ne peuvent être dans aucune des
classes), alors elle devient une classe. Elle possède les
caractéristiques d’une association et celles d’une classe.
Etudiant Module
* *
Note
+ valeur: double
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme d’objets
3.3.1 Définition et utilité :
Il permet de présenter l’interaction entre les objets à un instant
donné (les objets et leurs relations) : C’est une instance du
diagramme de classe,
Il est composé :
d’objets (instances de classes),
si : Module
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.3 Diagramme d’objets
3.3.1 Définition et utilité :
Le diagramme d’objet est utile pour :
donner des exemples sur des situations complexes mettant
en relation plusieurs concepts (structure d’objet complexe)
Montrer l’état du système avant ou après une interaction
particulière.
Les diagrammes d’objet sont facultatifs et souvent les
diagrammes de classes sont suffisants pour décrire le domaine.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.4 Diagramme de paquet (Package)
3.4.1 Définition et utilité :
Mécanisme général de regroupement et d’organisation des
éléments en UML,
Un paquet UML peut contenir plusieurs éléments UML dont
éventuellement d’autres paquets (cas d’utilisation, classes),
Chaque élément UML appartient à exactement un paquet
Paquet
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.4 Diagramme de paquet (Package)
3.4.1 Définition et utilité :
Le paquet définit une frontière où les noms des éléments
doivent être uniques,
Les relations entre paquets sont des relations de dépendances
: Un paquet P1 dépend de P2 si un élément de P1 utilise d’une
manière ou d’une autre un élément de P2.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres types de classes :
Les premières classes importantes à identifier sont celles des
entités qui relèvent du domaine étudié (classes « entity »),
I. Jacobson a proposé d’autres types afin de compléter
l’analyse du système à développer :
Les classes « boundary » qui permettent de représenter la
limite du système qui s’interface avec l’utilisateur, ou bien
les interactions entre le système et ses utilisateurs comme
par exemple : les formulaires de saisie, les résultats de
recherche, etc.
Ces classes sont identifiées de l’analyse de la maquette du
système (Il y a au moins un dialogue pour chaque paire
acteur-cas d’utilisation).
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
3.2.3 Autres types de classes :
Les classes de type « control » qui représentent un contrôleur.
Un contrôleur est un intermédiaire entre les limites (interfaces)
et les entités (classes d’objets métiers). Le contrôleur se charge
de l’exécution des commandes provenant de la limite.
Les classes de type « actor » qui représentent les différents
acteurs (utilisateurs) du système
Utilisateur
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.2 Diagramme de classes
Exemple commander en ligne :
GestionnaireCommandes
InterfaceWeb
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagramme des cas d’utilisation UEF41 – 2016/2017
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz
Faculté des Sciences - Département MI
2ème année Licence Ingénierie S.I. et Génie Logiciel
N. Taibouni, n_taibouni@esi.dz
Programme
1. Chapitre 1 : Le Génie Logiciel
1.1 Introduction : le logiciel
1.2 Génie logiciel : définition, objectif et développement de logiciel
1.3 Les cycles de développement du logiciel
1.4 Introduction à la modélisation
2. Chapitre 2 : UML
2.1 Introduction
2.2 Historique
2.3 Les différents diagrammes d’UML
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.1 Introduction :
Un diagramme d’états-transition correspond à une et une
seule classe;
Toutes les classes ne nécessitent pas un diagramme d’état,
il ya lieu de chercher celle qui possèdent un comportement
dynamique complexe tel que :
➢ Les objets de la classe réagissent différemment à un même
événement (chaque réaction caractérise un état particulier de
l’objet : le calcul de l’IRG sera différent pour les salariés dans le cas
d’une augmentation de salaire )
➢ Le comportement des objets a un impact sur le comportement
d’autres parties du système ( la création de la facture intervient
après validation de la commande )
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
Etat initial :
Correspond à la création
de l’instance
Etat :
Situation de l’objet
À un instant T
Transition :
Décrit la réaction d’un objet à un évènement,
elle possède un événement déclencheur,
une condition de garde, un effet et un état cible.
Etat final : Correspond à la destruction de l’instance
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
Signification et lecture du diagramme :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’état
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’état d’un objet :
➢ représente une période dans la vie d'un objet (un moment
de son cycle de vie), qui satisfait une certaine condition;
➢ Durant cet état, l’objet peut être :
✓ Inactif : il attend un évènement, un signal d’autre objet;
✓ Actif : il réalise une activité (exécution d'une série de
méthodes et d'interactions avec d'autres objets)
➢ L’objet peut avoir plusieurs états finaux, comme il peut ne
pas en avoir (il n’est pas détruit)
➢ L’état de l’objet n’est pas représenté sur le diagramme de
classes en phase de conception. Mais en phase de
conception, les différents états identifiés seront des valeurs
d’un
N. Taibouni, attribut « Statut » à ajouter dans la classe
n_taibouni@esi.dz de l’objet.
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
La transition
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
La transition :
➢ Représente la réponse d'un objet à l'arrivée d'un événement,
➢ Elle indique qu'un objet peut passer « transiter » vers un état
cible. Durant ce passage, l’objet peut éventuellement
exécuter certaines activités, si un événement déclencheur se
produit et qu'une condition de garde est vérifiée.
➢ C’est à la fin d’exécution des activités (l’effet), que l’objet
devient à l’état cible.
➢ Ce type de transition est appelé transition externe.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’évènement
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’évènement :
➢ C’est un fait qui déclenche le changement d'état de l’objet,
➢ Il existe 4 types d’évènements :
✓ Evènement Signal : c’est un message asynchrone provenant d’un
autre objet ou d’un acteur (programmation évènementielle)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’évènement :
✓ Evènement de changement : lorsque les valeurs de certains
attributs de l’objet vérifient à vrai ou faux une certaine expression
booléenne. L’expression est testée en permanence.
❖ Syntaxe : when (expression booléenne)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
La condition de garde
C’est une expression booléenne qui doit être vraie lorsque
l’événement arrive pour que la transition soit déclenchée. Elle
peut concerner les attributs de l’objet ainsi que les paramètres
de l’événement déclencheur.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.2 Concepts de base :
L’effet ou Activité ou action :
➢ C’est le traitement optionnel réalisé par l’objet lorsque la
transition est déclenchée (en UML 2.0 il est appelé effet), il
ne doit pas être interrompu;
➢ Il peut être une simple action élémentaire ou une activité
(séquence d’actions élémentaires) :
✓ Une action élémentaire est un traitement atomique ne
pouvant être interrompue; (mise à jour d’un attribut, un appel
d’opération, la création ou la destruction d’un autre objet, ainsi que
l’envoi d’un signal à un autre objet)
✓ Une activité est un ensemble d’actions élémentaires,
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.3 Concepts avancés :
Transition interne :
➢ Dans certaines situations, le passage d’un état initial à un état
cible peut entrainer, en plus de l’effet de la transition,
l’exécution d’actions ou activités successives ou parallèles par
l’objet. On parle de transition interne sans changement d’état
de l’objet.
➢ La syntaxe d’une transition interne est la même que la
transition externe : évènement [condition]/effet;
➢ Les transitions internes s’écrivent à l’intérieur de l’état, séparé
du nom de l’état par un trait.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.3 Concepts avancés :
Transition interne :
➢ UML définit des mots clé correspondant à des événements
particuliers :
❖ entry : définit le traitement à exécuter lors de l’entrée
dans l’état,
❖ exit : définit le traitement à exécuter lors de la sortie de
l’état,
❖ do : définit le traitement à exécuter pendant la durée de
l’état,
❖ on : (optionnel) définit le traitement à exécuter à chaque
fois qu’il un événement particulier interne.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.3 Concepts avancés :
Transition réflexive :
➢ UML autorise la transition réflexive qui fait sortir l’objet de
son état puis le retourner à cet état, et ce suite à la
survenance d’un évènement sous éventuellement une
condition et devant exécuter un traitement.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.4 Exemples : (source http://remy-manu.no-ip.biz)
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.4 Exemples : le cas de l’antivirus
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.4 Exemples : le cas de l’antivirus
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.4 Exemple : Gestion Commandes
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les commandes
des clients à cause d’une grande affluence des clients dans ses locaux. Pour améliorer ses
processus, il demande à son service informatique de développer un système de gestion des
commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le montant
de la commande en calculant le prix des articles de chaque ligne, de leurs quantités et
éventuellement une remise dont pourrait bénéficier le client. Une fois la commande créée,
le client doit régler le montant. Il peut régler la commande par virement bancaire ou par
envoi de chèque. Une fois la commande payée, deux services s’occupent de la traiter, le
service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock prépare
les articles commandés par le client. Si le stock est insuffisant, il crée alors une commande
de réapprovisionnement. Une fois la facture générée et les articles préparés, le commercial
envoie la facture au client et l’invite à se présenter pour récupérer les articles qu’il a
commandés.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
3.7 Diagramme d’états-transitions (State Machine Diagram)
3.7.4 Exemple : Gestion Commandes
Un représentant exclusif de produits médicaux a des difficultés à satisfaire les commandes
des clients à cause d’une grande affluence des clients dans ses locaux. Pour améliorer ses
processus, il demande à son service informatique de développer un système de gestion des
commandes en ligne.
Quand le client s’authentifie sur le site, il peut créer une nouvelle commande. Une
commande est constituée d’un entête et de plusieurs lignes. Le système calcule le montant
de la commande en calculant le prix des articles de chaque ligne, de leurs quantités et
éventuellement une remise dont pourrait bénéficier le client. Une fois la commande créée,
le client doit régler le montant. Il peut régler la commande par virement bancaire ou par
envoi de chèque. Une fois la commande payée, deux services s’occupent de la traiter, le
service de finances et le service de stock.
Le financier valide la commande puis génère une facture. Le gestionnaire de stock
prépare les articles commandés par le client. Si le stock est insuffisant, il crée alors une
commande de réapprovisionnement. Une fois la facture générée et les articles préparés, le
commercial envoie la facture au client et l’invite à se présenter pour récupérer les articles
qu’il a commandés.
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Chapitre 3 : Modélisation des SI avec UML
Bibliographie
N. Taibouni, n_taibouni@esi.dz
UEF41 – 2016/2017
Réunion préparatoire
au Comité Exécutif
Merci
N
Chapitre 3 : Modélisation du SI avec UML
Le Diagramme des cas d’utilisation UEF41 – 2016/2017
A. Benghalia , abderaoufb@yahoo.fr
N. Taibouni, n_taibouni@esi.dz