Avril 2017
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |1
Plan du cours
5. Objectifs du cours
5.1. Objectif général
Maitriser l’analyse et la conception des systèmes d’informations à l’aide des processus UML
6. Contenu de l’enseignement
INTRODUCTION GENERALE
0.1. Développement logiciel
0.2. Cycle de développement logiciel
0.3. Le Système d’Informations d’entreprise
CONCLUSION GENERALE
7. Méthodes d’enseignement :
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |2
- Exposé
- Discussion & Débat
- Etude de cas
1. BLANC X., MOUNIER L., UML 2 pour les développeurs, éd. Eyrolles, Paris, 2008
2. Christian SOUTOU, UML pour les bases de données, Ed. Eyrolles, Paris, 2008
3. GABAY J. & GABAY D., UML 2 Analyse et Conception, Ed. Dunod, Paris, 2009
4. Gilles ROY, Conception des bases de données avec UML, Presses de l’Université du
Québéc, Québéc, 2009
5. ROQUES P., UML 2 : modéliser une application web, éd. Eyrolles, Paris, 2008.
6. ROQUES P., UML 2 par la pratique étude de cas et exercices corrigés, éd. Eyrolles, Paris,
7. VALLEE F., ROQUES P., UML 2 en action : De l’analyse des besoins à la conception,
éd.Eyrolles, Paris, 2007.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |3
INTRODUCTION
Depuis plusieurs décennies, l’informatique a fait d’énormes progrès. Actuellement,
plusieurs technologies informatiques naissent dans le but toujours d’alléger la tâche de l’homme.
Des opérations qui, autrefois prenaient trop de temps, ont vu leur temps d’exécution être réduit
grâce à l’outil informatique, en l’occurrence l’ordinateur. A cet effet, l ‘informatisation est le
phénomène le plus important de notre époque. Elle s’immisce maintenant dans la plupart des
objets de la vie courante et ce, que ce soit dans l’objet proprement dit ou bien dans le processus
de conception de la fabrication de cet objet.
? CODE
Besoins
Le génie logiciel est la branche de l’informatique pour développer des systèmes d’information
à forte pondération logicielle (et tournant autour d’une base de données). Le génie logiciel
englobe la démarche pour la mise au point d’un logiciel.
Sa démarche est : l’analyse, la conception, le codage et le test.
Dans le développement logiciel, les méthodologies sont une sous-partie du génie logiciel
qui vise à rassembler l’ensemble des méthodes, des techniques et des outils servant à la
production d’un logiciel.
Une méthodologie de développement logiciel doit tenir compte de la création du logiciel à
proprement parler mais aussi de tous les composants relatifs au cycle de vie d’un logiciel. Le
cycle de vie d’un logiciel commence à la définition des objectifs et dure jusqu’à la fin de son
exploitation.
Les méthodologies de développement logiciel peuvent donc être vues comme
l’assemblage de techniques et de méthodes permettant la gestion de toutes les phases du cycle
de développement logiciel.
Une méthodologie de développement logiciel doit être couplée à un outil permettant son
suivi. Les méthodologies sont donc une alternative au développement dit « chaotique » où la
caractéristique principale est « coder et déboguer ». Elles imposent un processus discipliné
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |4
permettant de rendre le développement logiciel plus prévisible et plus efficace. Les méthodologies
quant à elles couvrent bien évidemment la modélisation mais aussi tout le cycle de
développement de logiciel.
Souvent, certaines de ces activités sont regroupées, mais elles sont toujours présentes et se
déroulent presque toujours dans l’ordre précité. L’ordre est souvent respecté mais cela
n’empêche pas d’organiser le déroulement de ces phases de nombreuses manières. Les deux
grandes familles d’organisation sont les cycles séquentiels et les cycles itératifs.
Avantages :
· Modèle simple
· Tests entre chaque phase
· Gestion des phases en temps et ressources
· Définition des tâches et des livrables
Inconvénients :
· Effet tunnel (identification tardive des problèmes, preuve tardive du bon fonctionnement).
· Difficulté de cerner les besoins dès le début, refus de tout changement.
· Frustration de l’attente de la première version (lenteur).
· Les projets informatiques sont rarement séquentiels.
* Cycle en V (séquentiel)
Mc Dermid et Ripkin proposèrent ce modèle en 1984. Il découle d’une amélioration du modèle en
cascade où chaque phase du projet a une phase de test qui lui est associée. Cette association
découle de l’idée que chaque phase en amont du développement doit préparer une phase
correspondante de vérification en aval de la production du logiciel.
Elle est basée sur les deux approches (Top-Down et Bottom-Up). Dans les premières phases
descendantes, on décompose le projet pour faciliter la partie développement (Top-Down). Tandis
que dans les secondes phases, on recompose l’ensemble du logiciel en le testant du détail vers
l’ensemble (Bottom-Up).
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |6
Avantages
· Réactivité accrue vis-à-vis du modèle en cascade (évite d’énoncer une propriété non vérifiable
objectivement une fois le logiciel réalisé).
· Modèle industriel classique éprouvé.
· Validation systématique de chaque étape avec retour en arrière possible.
· Mise en place de la vérification lors de la conception obligeant à une réflexion supplémentaire
très utile.
Inconvénients
· Pas de prototypage (code/validation tardive) et risque d’effet tunnel.
· Prise en compte des modifications du cahier des charges difficile.
· Obligation de définir la totalité des besoins au départ.
· Projet rarement séquentiel
* Cycle incrémental
Le principe de base du modèle par incréments est de découper l’expression des besoins
en sous-parties (lots ou incréments). Chaque lot sera réalisé successivement ou en se
chevauchant selon un modèle en cascade ou en V.
Avantages
· Diminution de la durée d’un cycle et donc de l’effet tunnel.
· Diminution de la complexité (vision uniquement d’un incrément).
· Les intégrations sont progressives par incrémentation.
Inconvénients :
· Difficulté de l’intégration
· Difficulté de la conception globale
· Inadapté aux besoins d’évolution en cours de projet, problème en cas de remise en cause du
noyau.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |7
Avantages
· Retour plus tôt sur l’avancée du projet donc meilleure estimation des budgets
· Gestion du changement (les besoins sont affinés à chaque cycle)
· Mise en œuvre d’une analyse des risques.
Inconvénient
· Les cycles peuvent être indépendants les uns des autres, ce qui peut provoquer un big-bang
lors de l’intégration.
* Cycle itératif
Le principe de base du modèle itératif est assez simple, à chaque nouveau besoin un
cycle de type « roue de Deming » est appliqué. La roue de Deming représente le principe « Plan
Do Check Ack » (PDCA). Ce cycle est effectué de manière itérative où à chaque itération sont
présentes : l’étude de la faisabilité, l’élaboration, la fabrication et la livraison. L’idée principale
étant de pouvoir livrer au plus tôt une version qui puisse être testée par le client. Donc les
itérations se doivent d’être les plus courtes possibles. Puis à chaque nouvelle itération les
nouveaux besoins sont examinés et les erreurs de l’itération précédente sont corrigées. Cela
signifie que la version livrée au client n’est pas une version finale et qu’il peut manquer beaucoup
de fonctionnalités mais il a au moins la possibilité de vérifier et de valider rapidement.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 Page |8
Avantages
· Adaptation au changement (retour plus rapide)
· Prototype (plus simple de voir que de lire de la documentation)
· Plus forte intégration du client (meilleure expression des besoins)
· Motivation de l’équipe par des objectifs proches
Inconvénient
Difficulté de traiter les gros projets : possibilité d’erreur dans la conception et refactoring difficile
- il est défini par différence, "coincé" entre 2 autres sous-systèmes, pilotage et opérant. Or, il
existe des systèmes d'information de pilotage (aide à la décision) ainsi que des systèmes
d'information de l'opérant.
- il ne rend pas compte de l'aspect représentation, pourtant essentiel dans la notion d'information,
ce qui expliquerait que différentes vues puissent cohabiter.
- En tout état de cause, un système d'information est plus qu'un système informatique avec
lequel il ne doit pas être confondu
Ce concept de système d’information, loin d’être né avec l’informatique, a son origine dans
un courant de pensée de la systémique.
Un système d’information peut être défini comme « la partie du réel constituée d’informations
organisées et d’acteurs qui agissent sur ces informations ou à partir de ces informations, selon
des processus visant une finalité de gestion et utilisant les technologies de l’information ».
Un système informatique est « un ensemble organisé d’objets techniques – matériels,
logiciels, applicatifs – qui représente l’infrastructure d’un système d’information ».
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 10
Système d’informations
Acteurs Informations
Processus
s
Système informatique
Matériels Logiciels
Applicatifs
lignes codées sans méthode. Pour la conception du déploiement enfin, le modèle représente
également les matériels et les logiciels à interconnecter.
Le modèle en tant qu’abstraction d’un système s’accorde parfaitement bien avec les
concepts orientés objet. Un objet peut en effet représenter l’abstraction d’une entité métier utilisée
en analyse, puis d’un composant de solution logicielle en conception. La correspondance est
encore plus flagrante lorsque les langages de développement sont eux-mêmes orientés objet.
Cela explique le succès de la modélisation objet ces dernières années pour les projets de plus
en plus nombreux utilisant C++, Java ou C#.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 12
II.1. Historique
Les méthodes utilisées dans les années 1980 pour organiser la programmation impérative
(notamment Merise) étaient fondées sur la modélisation séparée des données et des traitements.
Lorsque la programmation par objets prend de l’importance au début des années 1990, la
nécessité d’une méthode qui lui soit adaptée devient évidente. Plus de cinquante méthodes
apparaissent entre 1990 et 1995 (Booch, Classe-Relation, Fusion, HOOD, OMT, OOA, OOD,
OOM, OOSE, etc.) mais aucune ne parvient à s’imposer. En 1994, le consensus se fait autour de
trois méthodes :
– OMT de James Rumbaugh (General Electric) fournit une représentation graphique des aspects
statique, dynamique et fonctionnel d’un système ;
– OOD de Grady Booch, définie pour le Department of Defense, introduit le concept de paquetage
(package) ;
– OOSE d’Ivar Jacobson (Ericsson) fonde l’analyse sur la description des besoins des utilisateurs
(cas d’utilisation, ou use cases).
La version d’UML en cours à la fin 2006 est UML 2.0 et les travaux d’amélioration se
poursuivent. UML est donc non seulement un outil intéressant, mais une norme qui s’impose en
technologie à objets et à laquelle se sont rangés tous les grands acteurs du domaine, acteurs qui
ont d’ailleurs contribué à son élaboration.
Issu du terrain et fruit d'un travail d'experts reconnus, UML est le résultat d'un large
consensus. De très nombreux acteurs industriels de renom ont adopté UML et participent à
son développement. En l'espace d'une poignée d'années seulement, UML est devenu un
standard incontournable.
UML, ainsi que les méthodes dont il est issu, s'accordent sur un point : une analyse objet
passe par une modélisation objet.
UML permet donc de modéliser une application selon une vision objet.
UML comble une lacune importante des technologies objet. Il permet d'exprimer et d'élaborer
des modèles objet, indépendamment de tout langage de programmation. Il a été pensé pour
servir de support à une analyse basée sur les concepts objet.
UML est un langage formel, défini par un métamodèle .
Le métamodèle d'UML décrit de manière très précise tous les éléments de modélisation
(les concepts véhiculés et manipulés par le langage) et la sémantique de ces éléments
(leur définition et le sens de leur utilisation).
En d'autres termes, UML normalise les concepts objet.
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. Qualifier UML de "méthode objet" n'est donc pas tout
à fait approprié.
Une méthode propose aussi un processus, qui régit notamment l'enchaînement des
activités de production d 'une entreprise. Or UML est juste un langage graphique et textuel et
non une succession d’étapes de modélisation.
On peut tout de même recourir à un processus ou une démarche basée sur la notation UML, mais
cette démarche doit être :
- guidée par les besoins des utilisateurs du système,
- centrée sur l'architecture logicielle,
- itérative et incrémentale.
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.
o 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).
o 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...
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 :
o La disposition et la nature physique des matériels, ainsi que leurs performances.
o L'implantation des modules principaux sur les nœuds du réseau.
o Les exigences en termes de performances (temps de réponse, tolérance aux
fautes et pannes...).
3. Itérative et incrémentale
Une itération prend en compte un certain nombre de cas d'utilisation et traite en priorité
les risques majeurs.
Qu'est-ce qu'une démarche itérative et incrémentale ?
Le but est de mieux maîtriser la part d'inconnu et d'incertitudes qui caractérisent les systèmes
complexes.
D'après les auteurs d'UML, un processus de développement qui possède ces qualités
fondamentales "devrait" favoriser la réussite d'un projet.
UML permet tout à fait de modéliser les activités (c'est-à-dire la dynamique) d'un processus, de
décrire le rôle des acteurs du processus, la structure des éléments manipulés et produits, etc...
UML 2 s’articule autour de treize types de diagrammes, chacun d’eux étant dédié à la
représentation des concepts particuliers d’un système logiciel. Ces types de diagrammes sont
répartis en deux grands groupes :
Le diagramme de cas d’utilisation est utilisé dans l’activité de spécification des besoins. Il
montre les interactions fonctionnelles entre les acteurs et le système à l’étude.
Les diagrammes de séquence et les diagrammes de communication sont tous deux des
diagrammes d’interactions UML.
Ils représentent des échanges de messages entre éléments, dans le cadre d’un fonctionnement
particulier du système. Les diagrammes de séquence servent d’abord à développer en analyse
les scénarios d’utilisation du système. Plus tard, les diagrammes de séquence et de
communication permettent de concevoir les méthodes des classes.
Le diagramme d’états-transitions 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.
Le diagramme d’activité 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 un site web.
Le diagramme d’objets est un instantané, une photo d’un sous-ensemble des objets d’un
système à un certain moment du temps.
C’est probablement le diagramme le moins utilisé d’UML et nous n’en verrons pas d’illustration.
L’ensemble des treize types de diagrammes UML peut ainsi être résumé sur la figure ci-après.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 20
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 21
Les cas d’utilisation permettent donc d’exprimer le besoin des utilisateurs d’un système, ils sont
donc une vision orientée utilisateur de ce besoin.
a) Acteur
Un acteur est un rôle joué par une personne externe, un processus ou une chose qui interagit avec
un système. Ce n’est pas nécessairement une personne physique : il peut être un service,
une société, un système informatique …
Il se représente par un petit bonhomme avec son nom (i.e. son rôle) inscrit dessous.
ou
Il est également possible de représenter un acteur sous la forme d’un classeur stéréotypé «Actor».
Dans UML, il n’y a pas de notion d’acteur interne et externe. Par définition, un acteur est toujours
externe au périmètre de l’étude, qu’il appartienne ou pas à l’entreprise.
b) Cas d’utilisation
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 22
Un cas d’utilisation est une unité cohérente d’une fonctionnalité visible de l’extérieur. Il
réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur
qui l’initie. Un cas d’utilisation modélise donc un service rendu par le système, sans imposer le
mode de réalisation de ce service.
Un cas d’utilisation se représente par une ellipse contenant le nom du cas (un verbe à
l’infinitif), et optionnellement, au-dessus du nom, un stéréotype.
La frontière du système est représentée par un cadre appelé « Borne interactive du système ». Le
nom du système figure à l’intérieur du cadre, en haut. Les acteurs sont à l’extérieur et les cas
d’utilisation à l’intérieur.
System
Passer commande
CLIENT
Payer facture
Etablir facture
FACTURATION
Vérifier stock
Valider facture
CAISSE
Une dépendance se représente par une flèche avec un trait pointillé. Le symbole utilisé
pour la généralisation est une flèche avec un trait plein dont la pointe est un triangle fermé
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 23
a) Relation d’inclusion
Une relation d’inclusion est une dépendance entre deux cas d’utilisation symbolisée par le
stéréotype « include ».
Un cas d’utilisation A inclut un cas d’utilisation B si l’exécution du cas A nécessite d’abord
l’exécution du cas B : le cas A dépend de B. Lorsque A est sollicité, B l’est obligatoirement, comme
une partie de A.
Par exemple, l’accès aux e-mails d’un compte de messagerie inclut nécessairement une phase
d’authentification avec un login et un mot de passe.
Les inclusions permettent essentiellement de factoriser une partie de la description d’un
cas d’utilisation qui serait commune à d’autres cas d’utilisation. Elles permettent également de
décomposer un cas complexe en sous-cas plus simples.
Notez également que les cas d’utilisation ne s’enchaînent pas, car il n’y a aucune représentation
temporelle dans un diagramme de cas d’utilisation.
<<include>>
Consulter e-mail s'authentifier
b) Relation d’extension
La relation d’extension est une dépendance entre deux cas d’utilisation symbolisée par le
stéréotype « extend ».
On dit qu’un cas d’utilisation A étend un cas d’utilisation B lorsque le cas d’utilisation A peut être
appelé au cours de l’exécution du cas d’utilisation B. Exécuter B peut éventuellement entraîner
l’exécution de A. L’extension indique que le cas d’utilisation A peut ajouter son comportement
au cas d’utilisation B : contrairement à l’inclusion, l’extension est optionnelle.
L’extension peut intervenir à un point précis du cas étendu. Ce point s’appelle le point d’extension.
Une extension est souvent soumise à une condition exprimée sous la forme d’une note.
<<extend>>
Consulter résultats Introduire recours
c) Relation de généralisation
La généralisation est une relation non stéréotypée déterminée par une flèche en trait plein
pointant vers le cas général. Un cas A est une généralisation d’un cas B si B est un cas particulier
de A. Par exemple, le paiement d’un article par carte de crédit est un cas particulier du paiement
de cet article. Cette relation de généralisation/spécialisation est présente dans la plupart des
diagrammes UML et se traduit par le concept d’héritage dans les langages orientés objet.
Payer facture
ouvrir session
Utilisateur
Signaler panne
Admin
Exemple
1. Nom du cas : Etablir facture
2. Objectif du cas : matérialiser la commande d’un client
3. Acteur principal : Facturation
4. Acteurs secondaires : Client et Caisse
5. Préconditions : Commande passée et Stock disponible
6. Des scénarii (scenarios) :
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 25
- le scénario nominal :
* saisir nom client
* sélectionner produit et saisir quantité
* valider
- des scénarios alternatifs :
* annuler facture
* modifier facture
- scénario d’exception : afficher message d’erreur si la quantité est inférieure ou égale à 0
7. Postcondition : Facture
c) Attribut
Une classe correspond à un concept global d’information et se compose d’un
ensemble d’informations élémentaires, appelées attributs de classe.
Un attribut représente la modélisation d’une information élémentaire représentée par son
nom et son format. Ils représentent les données encapsulées dans les objets de cette classe. Par
commodité de gestion, on choisit parfois de conserver dans un attribut le résultat d’un calcul
effectué à partir d’autres classes : on parle alors d’attribut dérivé. Pour repérer un attribut
dérivé : on place un / devant son nom.
d) Opération ou méthode
L’opération ou méthode représente un élément de comportement des objets, défini
de manière globale dans la classe. Une opération est une fonctionnalité assurée par une
classe. La description des opérations peut préciser les paramètres d’entrée et de sortie
ainsi que les actions élémentaires à exécuter. Une méthode de classe ne peut manipuler que
des attributs de classe et ses propres paramètres.
PERSONNE
ETUDIANT PROF
b) Association
Une association est une relation entre deux classes (association binaire) ou plus
(association n-aire), qui décrit les connexions structurelles entre leurs instances.
Une association binaire est représentée par un trait continu avec ou sans nom sur
l’association, une association n-aire a pour symbole un losange.
CLIENT FACTURE
II.2.5. Navigabilité
La navigabilité indique s’il est possible de traverser une association. On représente
graphiquement la navigabilité par une flèche du côté de la terminaison navigable et on empêche
la navigabilité par une croix du côté de la terminaison non navigable. Par défaut, une association
est navigable dans les deux sens.
.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 28
II.2.6. Classe-association
Les attributs d’une classe dépendent fonctionnellement de l’identifiant de la classe. Parfois,
un attribut dépend fonctionnellement de 2 identifiants, appartenant à 2 classes différentes.
Dans ce cas, on dit que cette association est porteuse de propriétés et ces propriétés seront
placées dans une classe-association représentée par un rectangle suspendu à l’association par
des pointillés.
PRODUIT
FACTURE
* 1..* -codeprod
-numfac -nomprod
-datefac -prixunit
-stockprod
DETAIL
-quantite
b) La composition
La composition, également appelée agrégation composite, décrit une contenance
structurelle entre instances. Ainsi, la destruction de l’objet composite implique la destruction de
ses composants. Une instance de la partie appartient toujours à au plus une instance de l’élément
composite. Graphiquement, on ajoute un losange plein ( ) du côté de l’agrégat.
a) Le modèle du domaine
C’est un diagramme de classes qui modélise les concepts-clés du domaine étudié. Il s’agit de
l’ensemble des objets qui concourent à la réalisation des activités du métier du domaine ;
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 29
c’est la structure interne du domaine qui conduira à la création de la base de données ou des
fichiers. C’est donc une première version du diagramme de classes qui est établie comme suit :
- Identifier les concepts ou entités du domaine en tant que classes
- Y rattacher des attributs
- Ajouter les associations et les multiplicités
- Simplifier le modèle en utilisant l’héritage
- Structurer éventuellement les classes en paquetages selon les principes de cohérence
et d’indépendance.
PRODUIT
FACTURE CATEGORIE
* 1..* -codeprod 1..* 1
-numfac -nomprod -codecat
-datefac -prixunit -nomcat
-nomcli -stockprod
DETAIL
-quantite
Entité CLIENT
-numclient
Dialogue Etablir facture -nomclient
-telclient
-numfac
-datefac Ctrl Etablir Facture
-nomclient
-nomprod +Créer() Entité FACTURE
-prixunit +modifier()
-quantite +afficher() -numfac
+annuler() -datefac
+créer()
+modifier()
+afficher()
+annuler() DETAIL
-quantite
Entité PRODUIT
-codeprod
-nomprod
-prixunit
-stockprod
b) Activité
Une activité définit un comportement décrit par un séquencement organisé d’unités dont
les éléments simples sont les actions. Le flot d’exécution est modélisé par des nœuds reliés par
des arcs (appelés transitions).
c) Nœuds d’activités
Un nœud d’activité est un type d’élément abstrait permettant de représenter les étapes le
long du flot d’une activité. Il existe trois familles de nœuds d’activités :
– les nœuds d’exécutions (ou nœuds exécutables);
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 31
* Nœud d’action
Un nœud d’action est un nœud d’activité exécutable qui modélise une action comme une
unité fondamentale de fonctionnalité exécutable dans une activité.
Graphiquement, un nœud d’action est représenté par un rectangle aux coins arrondis qui contient
sa description textuelle.
Le passage d’une action à une autre est appelé Transition et est représenté par une flèche.
– nœud de bifurcation
– nœud d’union
* Nœud initial
Un nœud initial est un nœud de contrôle à partir duquel le flot débute lorsque l’activité
enveloppante est invoquée. Une activité peut avoir plusieurs nœuds initiaux. Un nœud initial
possède un arc sortant et pas d’arc entrant.
Graphiquement, un nœud initial est représenté par un petit cercle plein :
* Nœud de décision
Un nœud de décision est un nœud de contrôle qui permet de faire un choix entre plusieurs
flots sortants. Graphiquement, il est représenté par un losange
* Nœud de fusion
Un nœud de fusion est un nœud de contrôle qui rassemble plusieurs flots alternatifs
entrants en un seul flot sortant. Il n’est pas utilisé pour synchroniser des flots concurrents (c’est le
rôle du nœud d’union) mais pour accepter un flot parmi plusieurs.
Graphiquement, il est représenté comme le nœud de décision par un losange
* Nœud de bifurcation
Un nœud de bifurcation, également appelé nœud de débranchement est un nœud de
contrôle qui sépare un flot en plusieurs flots concurrents.
Graphiquement, on le représente par un trait plein
d) Les partitions
Appelées aussi Lignes d’eau ou Couloirs, elles permettent d’opérer des regroupements
pour mieux organiser les activités. Chaque couloir correspond à un niveau de responsabilité d’un
certain nombre d’actions.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 33
Servir carburant
Non
Fin journée
Oui
b. Message
Un message incarne une communication entre deux lignes de vie. Le message peut être
synchrone ou asynchrone
- Le message synchrone est celui qui oblige son émetteur d’attendre la réponse, qui prend
un peu de temps, avant de poursuivre ses actions. Il est représenté par une flèche avec
extrémité pleine.
- Le message asynchrone est celui qui n’a pas de réponse, il est représenté par une flèche
avec une extrémité non pleine.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 34
Facturation Système
Message
synchrone
1 : OuvrirFormulaireFacture()
Déroulement
temporel
2 : Formulaire Facture
Message
3 : SaisirFacture
asynchrone
4 : Valider()
5 : Facture validée
Client Système
LOOP
1 : IntroduireCarte
2 : VérifierCode()
[non ok]
ALT
[ok]
3 : Code non valide
4 : Code valide
5 : SaisirMontant
6 : VérifierMontant()
ALT
7 : Montant insuffisant
8 : Pompe déclenchée
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 35
Bien qu’UML ne soit pas une méthode, ses auteurs précisent néanmoins qu’une méthode
(ou processus) basée sur l’utilisation UML doit être :
besoins d'un utilisateur en un système logiciel quel que soit la classe, la taille et le domaine
d'application de ce système.
Le processus est dit « Unifié » pour être amené à l'unité, se fondre en un tout. En fait, les
méthodes d'analyse et de conception orientées objet, étaient variées jusqu'à ce que Rambaugh,
Jacobson et Booch eurent l'idée de les unifier.
Le processus unifié UP est un processus de développement logiciel itératif, centré sur
l'architecture, piloté par des cas d'utilisation et orienté vers la diminution des risques.
C'est un patron de processus pouvant être adaptée à une large classe de systèmes logiciels, à
différents domaines d'application, à différents types d'entreprises, à différents niveaux de
compétences et à différentes tailles de l'entreprise.
a. L'architecture bidirectionnelle
UP gère le processus de développement par deux axes.
L'axe vertical représente les principaux enchaînements d'activités, qui regroupent les activités
selon leur nature. Cette dimension rend compte l'aspect statique du processus qui s'exprime en
termes de composants, de processus, d'activités, d'enchaînements, d'artefacts et de travailleurs.
L'axe horizontal représente le temps et montre le déroulement du cycle de vie du processus;
cette dimension rend compte de l'aspect dynamique du processus qui s'exprime en terme de
cycles, de phases, d'itérations et de jalons.
Elaboration
C'est la deuxième phase du processus. Après avoir compris le système, dégagé
les fonctionnalités initiales, précisé les risques critiques, le travail à accomplir maintenant consiste
à stabiliser l'architecture du système. Il s'agit alors de raffiner le modèle initial de cas d'utilisation,
voire capturer de nouveaux besoins, analyser et concevoir la majorité des cas d'utilisation
formulés, et si possible implémenter et tester les cas d'utilisation initiaux.
Construction
Dans cette phase, il faut essayer de capturer tous les besoins restants car il n'est
pratiquement plus possible de le faire dans la prochaine phase. Ensuite, continuer l'analyse, la
conception et surtout l'implémentation de tous les cas d'utilisation. A la fin de cette phase, les
développeurs doivent fournir une version exécutable du système.
Transition
C'est la phase qui finalise le produit. Il s'agit au cours de cette phase de vérifier si
le système offre véritablement les services exigés par les utilisateurs, détecter les défaillances,
combler les manques dans la documentation du logiciel et adapter le produit à l'environnement
(mise en place et installation).
b2. Analyse
L'objectif de l'analyse est d'accéder à une compréhension des besoins et des exigences
du client. Il s'agit de livrer des spécifications pour permettre de choisir la conception de la solution.
Un modèle d'analyse livre une spécification complète des besoins issus des cas d'utilisation et
les structures sous une forme qui facilite la compréhension (scénarios), la préparation (définition
de l'architecture), la modification et la maintenance du futur système.
Il s'écrit dans le langage des développeurs et peut être considéré comme une première ébauche
du modèle de conception.
b3. Conception
La conception permet d'acquérir une compréhension approfondie des contraintes liées au
langage de programmation, à l'utilisation des composants et au système d'exploitation.
Elle détermine les principales interfaces et les transcrit à l'aide d'une notation commune.
Elle constitue un point de départ à l'implémentation :
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 39
b4. Implémentation
L'implémentation est le résultat de la conception pour implémenter le système sous
formes de composants, c'est-à-dire, de code source, de scripts, de binaires, d'exécutables et
d'autres éléments du même type.
Les objectifs principaux de l'implémentation sont de planifier les intégrations des composants
pour chaque itération, et de produire les classes et les sous-systèmes sous formes de codes
sources.
b5. Test
Les tests permettent de vérifier des résultats de l'implémentation en testant la
construction. Pour mener à bien ces tests, il faut les planifier pour chaque itération, les
implémenter en créant des cas de tests, effectuer ces tests et prendre en compte le résultat de
chacun.
Dans un premier temps, on crée les cas d’utilisation pour identifier et modéliser les besoins des
utilisateurs. Ces besoins sont déterminés à partir des informations recueillies lors des rencontres
entre informaticiens et utilisateurs. Il faut impérativement proscrire toute considération de
réalisation lors de cette étape.
Durant cette étape, vous devrez déterminer les limites du système, identifier les acteurs et
recenser les cas d’utilisation. Si l’application est complexe, vous pourrez organiser les cas
d’utilisation en packages.
- Dans le cadre d’une approche itérative et incrémentale, il faut affecter un degré d’importance et
un coefficient de risque à chacun des cas d’utilisation pour définir l’ordre des incréments à
réaliser.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 40
- Les interactions entre les acteurs et le système (au sein des cas d’utilisation) seront explicitées
sous forme d’une description textuelle des cas d’utilisation. L’objectif de cette étape et des deux
suivantes est justement de formuler et formaliser les besoins.
- Dans cette étape, on cherche à détailler la description des besoins par la description textuelle
des cas d’utilisation et la production de diagrammes de séquence système illustrant cette
description textuelle. Cette étape amène souvent à mettre à jour le diagramme de cas d’utilisation
puisque nous sommes toujours dans la spécification des besoins.
Les scénarii de la description textuelle des cas d’utilisation peuvent être vus comme des instances
de cas d’utilisation et sont illustrés par des diagrammes de séquence système. Il faut, au
minimum, représenter le scénario nominal de chacun des cas d’utilisation par un diagramme de
séquence qui rend compte de l’interaction entre l’acteur, ou les acteurs, et le système. Le système
est ici considéré comme un tout et est représenté par une ligne de vie. Chaque acteur est
également associé à une ligne de vie.
N.B. Lorsque les scénarii alternatifs d’un cas d’utilisation sont nombreux et importants, l’utilisation
d’un diagramme d’états-transitions ou d’activités peut s’avérer préférable à une multitude de
diagrammes de séquence.
4. Phases d’analyse
* Analyse du domaine : modèle du domaine
La modélisation des besoins par des cas d’utilisation s’apparente à une analyse fonctionnelle
classique. L’élaboration du modèle des classes du domaine permet d’opérer une transition
vers une véritable modélisation objet. L’analyse du domaine est une étape totalement dissociée
de l’analyse des besoins. Elle peut être menée avant, en parallèle ou après cette dernière.
nommer les classes et leurs attributs. Les classes du modèle du domaine ne doivent pas contenir
d’opération, mais seulement des attributs. Les étapes à suivre pour établir ce diagramme sont :
identifier les entités ou concepts du domaine ;
identifier et ajouter les associations et les attributs ;
simplifier le modèle en éliminant les classes redondantes et en utilisant l’héritage ;
le cas échéant, structurer les classes en paquetage selon les principes de cohérence et
d’indépendance.
L’erreur la plus courante lors de la création d’un modèle du domaine consiste à modéliser un
concept par un attribut alors que ce dernier devait être modélisé par une classe. Si la seule chose
que recouvre un concept est sa valeur, il s’agit simplement d’un attribut. Par contre, si un concept
recouvre un ensemble d’informations, alors il s’agit plutôt d’une classe qui possède elle-même
plusieurs attributs.
Il n’est pas souhaitable que les utilisateurs interagissent directement avec les instances des
classes du domaine par le biais de l’interface graphique. En effet, le modèle du domaine doit être
indépendant des utilisateurs et de l’interface graphique. De même, l’interface graphique du
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 43
logiciel doit pouvoir évoluer sans répercussion sur le cœur de l’application. C’est le principe
fondamental du découpage en couches d’une application. Ainsi, le diagramme de classes
participantes modélise trois types de classes d’analyse, les dialogues ou travailleurs d’interface
(Interface Workers), les contrôles ou travailleurs internes (Internal workers) et les entités ainsi
que leurs relations.
réalisent (généralement par délégation aux contrôles) les actions que l’utilisateur demande par le
biais de l’IHM. Les dialogues peuvent être en association avec des contrôles ou d’autres
dialogues, mais pas directement avec des entités.
Il est également possible d’ajouter les acteurs sur le diagramme de classes participantes
en respectant la règle suivante : un acteur ne peut être lié qu’à un dialogue.
Les IHM modernes facilitent la communication entre l’application et l’utilisateur en offrant toute
une gamme de moyens d’action et de visualisation comme des menus déroulants ou contextuels,
des palettes d’outils, des boîtes de dialogues, des fenêtres de visualisation, etc. Cette
combinaison possible d’options d’affichage, d’interaction et de navigation aboutis aujourd’hui à
des interfaces de plus en plus riches et puissantes.
UML offre la possibilité de représenter graphiquement cette activité de navigation dans l’interface
en produisant des diagrammes dynamiques. On appelle ces derniers des diagrammes de
navigation. Le concepteur a le choix d’opter pour cette modélisation entre des diagrammes
d’états-transitions et des diagrammes d’activités. Les diagrammes d’activités constituent peut-
être aussi un choix plus souple et plus judicieux.
Les diagrammes d’activités de navigation sont à relier aux classes de dialogue du diagramme de
classes participantes. Les différentes activités du diagramme de navigation peuvent être
stéréotypées en fonction de leur nature : « fenêtre », « menu », « menu contextuel », « dialogue »,
etc. La modélisation de la navigation à intérêt à être structurée par acteur.
5. Phase de conception
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 45
* Diagrammes d’interaction
Maintenant, il faut attribuer précisément les responsabilités de comportement, dégagée par les
diagrammes de séquence système aux classes d’analyse du diagramme de classes
participantes. Les résultats de cette réflexion sont présentés sous la forme de diagrammes
d’interaction UML. Inversement, l’élaboration de ces diagrammes facilite grandement la réflexion.
Pour chaque service ou fonction, il faut décider quelle est la classe qui va le contenir. Les
diagrammes d’interactions (i.e. de séquence ou de communication) sont particulièrement utiles
au concepteur pour représenter graphiquement ces décisions d’allocations des responsabilités.
Chaque diagramme va représenter un ensemble d’objets de classes différentes collaborant dans
le cadre d’un scénario d’exécution du système.
Dans les diagrammes d’interaction, les objets communiquent en s’envoyant des messages qui
invoquent des opérations sur les objets récepteurs. Il est ainsi possible de suivre visuellement les
interactions dynamiques entre objets, et les traitements réalisés par chacun d’eux. Avec un outil
de modélisation UML (comme StarUML ou PowerAMC), la spécification de l’envoi d’un message
entre deux objets crée effectivement une opération publique sur la classe de l’objet cible. Ce type
d’outil permet réellement de mettre en œuvre l’allocation des responsabilités à partir des
diagrammes d’interaction.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 46
Par rapport aux diagrammes de séquences système, nous remplaçons ici le système, vu comme
une boîte noire, par un ensemble d’objets en collaboration. Ces objets sont des instances des
trois types de classes d’analyse du diagramme de classes participantes, à savoir des dialogues,
des contrôles et des entités. Les diagrammes de séquences élaborés dans cette section doivent
donc toujours respecter les règles édictées plus haut. Ces règles doivent cependant être
transposées car, pour que deux objets puis interagir directement, il faut que :
les classes dont ils sont issus soient en association dans le diagramme de classes
participantes ;
l’interaction respecte la navigabilité de l’association en question.
L’objectif de cette étape est de produire le diagramme de classes qui servira pour
l’implémentation. Une première ébauche du diagramme de classes de conception a déjà été
élaborée en parallèle du diagramme d’interaction. Il faut maintenant le compléter en précisant les
opérations privées des différentes classes. Il faut prendre en comptes les choix techniques,
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 47
Pour une classe, le couplage est la mesure de la quantité d’autres classes auxquelles elle est
connectée par des associations, des relations de dépendances, etc. Durant toute l’élaboration du
diagramme de classes de conception, il faut veiller à conserver un couplage faible pour obtenir
une application plus évolutive et plus facile à maintenir. L’utilisation des design patterns est
fortement conseillée lors de l’élaboration du diagramme de classes de conception.
Pour le passage à l’implémentation, les classes du type entités ont intérêt à être implémentées
dans une base de données relationnelle. Ensuite, l’implémentation est complétée par l
diagramme de composants et/ou de déploiement.
entre ces classes permettent par ailleurs d’étudier les échanges entre classes, de consolider et
de vérifier la conception des cas d’utilisation techniques.
• Lors de la conception préliminaire, les classes obtenues naissent de la distribution des classes
d’analyse sur les couches logicielles. Les interactions entre classes de conception permettent de
consolider et de vérifier à terme la conception des cas d’utilisation fonctionnelle tenant compte
des contraintes opérationnelles.
Chaque niveau d’abstraction du modèle s’inscrit dans une étape du processus et fixe un objectif
de description du modèle.
Pour l’analyse :
• on ouvre le système pour établir la structure des objets utilisés. Le modèle d’analyse du domaine
définit la structure et le comportement des objets connus dans le métier des utilisateurs du
système ;
• le modèle d’analyse de l’application y rajoute, suivant le même processus, les objets qui sont
connus des utilisateurs, dans le cadre de la mise en application de leurs besoins.
Pour la capture des besoins techniques :
• le modèle d’analyse technique établit des couches logicielles et y spécifie les activités
techniques attendues.
Les besoins opérationnels représentent les besoins non fonctionnels, qui caractérisent le
système comme la performance, la sécurité et l’ergonomie du système. Ces besoins peuvent être
énoncés suivant des plans de classifications.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 51
On va s’intéresser à la branche gauche du cycle en Y qui est « la capture des besoins fonctionnels
» en décrivant les différentes façons qui seront disponible pour permettre les acteurs d’utiliser la
future application.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 52
La spécification technique est une activité de la branche droite du Y ; parce qu’elle est
primordiale dans la conception de l’architecture. Dans cette étape, nous abordons :
la construction d’un modèle d’analyse technique avec UML,
les avantages d’une organisation en couches logicielles,
l’emploi des cas d’utilisation pour décrire les comportements techniques du système,
la description des cas d’utilisation techniques.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 53
Exploitant : c’est un acteur qui s’appuie sur des concepts techniques pour accéder aux services
de l’application.
Cas d’utilisation technique : un cas d’utilisation technique est destiné à l’exploitant. C’est une
séquence d’actions produisant une valeur ajoutée opérationnelle ou purement technique. Le
choix de l’architecture physique a été effectué selon l’environnement adopté.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 54
Les cas d’utilisation techniques sont absolument distincts des cas d’utilisation de la
branche gauche : ils ne produisent aucune valeur ajoutée fonctionnelle. La branche droite
recouvre en effet tous les services techniques dont un utilisateur bénéficie, parfois même sans
s’en rendre compte.
2. Analyse
La phase d’analyse qui représente la deuxième étape de la branche gauche du cycle en
Y. Au cours de cette étape, on va représenter une vue statique du système par la modélisation
de diagrammes de classe puis, et une vue dynamique par la modélisation des diagrammes de
séquence.
Cette partie va nous permettre d’illustrer les principales constructions du diagramme de classes
du domaine
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 55
Le diagramme de classes a toujours été le diagramme le plus important dans toutes les méthodes
orientées objet. C’est également celui qui contient la plus grande gamme de notations et de
variantes. UML a réussi à unifier le vocabulaire et les concepts sans perdre la richesse et les
apports des différentes méthodes existantes.
Le développement du modèle statique constitue la deuxième activité de l’étape d’analyse. Elle se
situe sur la branche gauche du cycle en Y et succède au découpage en catégories.
Le modèle de domaine représente l’ensemble de classes qui modélisent le métier. Il s’agit des
classes statistiques et dépourvues de leurs méthodes.
3. Conception Générique
La conception générique consiste à développer la solution qui répond aux
spécifications techniques. Cette conception est qualifiée de générique car elle est entièrement
indépendante des aspects fonctionnels spécifiés en branche gauche. La conception générique
reste donc une activité de la branche droite.
Nous pouvons considérer que la conception générique développe le squelette
technique d’un projet. Nous utiliserons le formalisme UML pour effectuer notre conception
générique.
L’intégralité de conception s’exprime sous la forme d’un ensemble de classes techniques que
les concepteurs vont par la suite réutiliser pour développer les différentes composantes
fonctionnelles du système.
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 56
Navigateur
SGBD
«Interface»
Socket de réception
Site Web
+ Proticole = "HTTP"
+ Port = 80
<<Interface>> «Interface»
Socket d'émission Socket MySQL
Serveur Web
4. Conception préliminaire
La conception préliminaire est certainement l’étape la plus délicate du processus 2TUP
car elle en représente le cœur. C’est en effet à cette occasion que s’effectue la fusion des études
fonctionnelles et techniques. En conséquence, plusieurs activités doivent coexister.
5. Conception détaillée
La conception détaillée est une activité qui s’inscrit dans l’organisation définie par la
conception préliminaire. Le modèle logique y est particulièrement important dans la mesure où
c’est en conception détaillée que l’on génère le plus gros volume d’informations. Il est ainsi
possible de confier les catégories à des personnes différentes, qui pourront travailler
indépendamment les unes des autres. La conception détaillée s’appuie donc sur les catégories
de conception organisées à la fois suivant les Framework techniques et les regroupements
propres au métier. Les concepteurs construisent alors les classes, les vues d’IHM, les
interfaces, les tables et les méthodes qui vont donner une image « prête à coder » de la solution.
CONCLUSION GENERALE
UML utilise l'approche objet en présentant un langage de description universel. Il
permet grâce à un ensemble de diagrammes très explicites, de représenter l'architecture et le
fonctionnement des systèmes informatiques complexes en tenant compte des relations entre les
concepts utilisés et l'implémentation qui en découle.
UML est donc bien plus qu'un simple outil qui permet de "dessiner" des
représentations mentales... Il permet de parler un langage commun, normalisé mais accessible,
car visuel. Il représente un juste milieu entre langage mathématique et naturel, pas trop complexe
mais suffisamment rigoureux, car basé sur un méta modèle. Une autre caractéristique importante
d'UML, est qu'il cadre l'analyse. UML permet de représenter un système selon différentes vues
complémentaires : les diagrammes.
Notons tout de même que la force d’une méthode ne réside pas dans la méthode,
mais plutôt dans le chef de la personne qui utilise la méthode !
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 61
INTRODUCTION ............................................................................................................................................. 0
0.1. Développement logiciel ................................................................................................................ 3
0.2. Cycles de développement logiciel ................................................................................................. 4
0.3. Système d'information d'entreprise .................................................................................................. 8
0.3.1. Système d’information et Système informatique ....................................................................... 9
0.3.2. Pourquoi modéliser ? ................................................................................................................ 10
Chapitre II : LE LANGAGE UML .................................................................................................................... 12
II.1. Historique......................................................................................................................................... 12
II.2. Présentation d’UML ......................................................................................................................... 13
II.3. Les diagrammes UML ....................................................................................................................... 17
a) Six diagrammes structurels ou statiques : ...................................................................................... 18
b) Sept diagrammes comportementaux ou dynamiques : ................................................................. 18
CHAPITRE III : ETUDE DE QUELQUES DIAGRAMMES UML .......................................................................... 21
III.1. DIAGRAMME DES CAS D’UTILISATION ............................................................................................ 21
III.1.1. Concepts de base ..................................................................................................................... 21
II.1.2. Relations entre acteurs et cas d’utilisation............................................................................... 22
II.1.3. Relations entre les cas d’utilisation .......................................................................................... 22
II.1.4. Relations entre acteurs ............................................................................................................. 24
II.1.5. Description textuelle des cas d’utilisation ................................................................................ 24
II.2. DIAGRAMME DE CLASSES ................................................................................................................ 25
II.2.1. Concepts de base ...................................................................................................................... 25
II.2.2. Encapsulation et visibilité ......................................................................................................... 26
II.2.3. Relations entre classes .............................................................................................................. 26
II.2.4. Multiplicité ou cardinalité ......................................................................................................... 27
II.2.5. Navigabilité ............................................................................................................................... 27
II.2.6. Classe-association ..................................................................................................................... 28
II.3. LE DIAGRAMME D’ACTIVITES ........................................................................................................... 30
II.4. Diagramme de séquences ................................................................................................................ 33
Patrick KASONGA, Cours de Conception des systèmes d’informations avec UML, G2 ESIS 2016-2017 P a g e | 62